본문 바로가기

카테고리 없음

자바를 활용한 파일 입출력: 텍스트 파일 저장과 읽어오기

1. 텍스트 파일 저장하기

텍스트 파일을 자바에서 저장하는 방법에는 여러 가지가 있습니다. 가장 기본적인 방법은 FileWriter 클래스를 이용하는 것입니다.

먼저, FileWriter 객체를 생성한 후에는 write() 메서드를 사용하여 텍스트를 파일에 저장할 수 있습니다. 예를 들어, 다음과 같이 코드를 작성할 수 있습니다.

import java.io.FileWriter;
import java.io.IOException;

public class TextFileWriter {
    public static void main(String[] args) {
        try {
            FileWriter writer = new FileWriter("example.txt");
            writer.write("안녕하세요! 파일에 저장되는 텍스트입니다.");
            writer.close();
            System.out.println("텍스트 파일이 성공적으로 저장되었습니다.");
        } catch (IOException e) {
            System.out.println("파일 저장 중 오류가 발생하였습니다.");
            e.printStackTrace();
        }
    }
}

위의 코드에서는 FileWriter 객체를 생성한 후에 write() 메서드를 사용하여 텍스트를 파일에 저장했습니다. 마지막으로 close() 메서드를 호출하여 파일을 닫아주어야 합니다.

예외 처리 부분에서는 try-catch 문을 사용하여 IOException이 발생할 경우에 오류 상황을 처리하도록 했습니다.

2. 텍스트 파일 읽어오기

텍스트 파일을 자바에서 읽어오는 방법에는 여러 가지가 있습니다. 가장 기본적인 방법은 FileReader 클래스를 이용하는 것입니다.

먼저, FileReader 객체를 생성한 후에는 read() 메서드나 readLine() 메서드를 사용하여 파일에서 텍스트를 읽어올 수 있습니다. 예를 들어, 다음과 같이 코드를 작성할 수 있습니다.

import java.io.FileReader;
import java.io.IOException;

public class TextFileReader {
    public static void main(String[] args) {
        try {
            FileReader reader = new FileReader("example.txt");
            int data;
            while ((data = reader.read()) != -1) {
                System.out.print((char) data);
            }
            reader.close();
        } catch (IOException e) {
            System.out.println("파일 읽기 중 오류가 발생하였습니다.");
            e.printStackTrace();
        }
    }
}

위의 코드에서는 FileReader 객체를 생성한 후 read() 메서드를 사용하여 파일에서 한 글자씩 읽어오고, 그 결과를 화면에 출력했습니다. 파일의 끝에 도달하면 read() 메서드는 -1을 반환하므로 while 루프를 종료합니다.

예외 처리 부분에서는 try-catch 문을 사용하여 IOException이 발생할 경우에 오류 상황을 처리하도록 했습니다.

3. 예외 처리하기

자바에서 예외 처리는 try-catch 문을 사용하여 수행됩니다. 예외 처리는 예상되는 오류 상황에 대비하여 프로그램의 실행 흐름을 제어하는 데 사용됩니다.

예외 처리는 try 블록 안에서 발생할 수 있는 예외를 감지하고, 해당 예외가 발생했을 때 실행할 코드를 catch 블록에 작성합니다. 예를 들어, 다음과 같이 코드를 작성할 수 있습니다.

public class ExceptionHandling {
    public static void main(String[] args) {
        try {
            int result = divide(10, 0);
            System.out.println("나눈 결과: " + result);
        } catch (ArithmeticException e) {
            System.out.println("0으로 나눌 수 없습니다.");
            e.printStackTrace();
        }
    }

    public static int divide(int a, int b) {
        return a / b;
    }
}

위의 코드에서는 divide() 메서드 내부에서 0으로 나눌 수 있는 상황이 발생하도록 작성했습니다. 이를 처리하기 위해 try-catch 문을 사용하여 ArithmeticException이 발생하는 경우에 대비하여 오류를 처리하였습니다.

try 블록 안에서 예외가 발생하면 해당 예외에 대응하는 catch 블록이 실행되고, 그 후의 코드는 정상적으로 실행됩니다. 예외 발생 시에는 해당 예외의 정보를 출력할 수 있도록 printStackTrace() 메서드를 호출하였습니다. 이를 통해 예외 발생 시에는 어떤 오류가 발생했는지 확인할 수 있습니다.

예외 처리는 프로그램의 안정성을 높이고 예기치 않은 오류에 대비할 수 있도록 도와줍니다. 적절한 예외 처리를 통해 프로그램의 안정성을 높이는 것이 중요합니다.