title: “Java 파일 데이터 읽기 및 쓰기 오류 처리하기” date: 2021-05-20 —
Java 파일 데이터 읽기 및 쓰기 오류 처리하기
자바에서 파일을 읽거나 쓸 때는 항상 오류 처리를 고려해야 합니다. 파일 작업 중 발생할 수 있는 예외 상황에 대비하여 적절한 예외 처리 코드를 구현해야 합니다. 이 글에서는 파일 데이터 읽기와 쓰기 시 발생할 수 있는 일반적인 오류 상황과 예외 처리 방법을 알아보겠습니다.
1. 파일 데이터 읽기 오류 처리하기
파일에서 데이터를 읽을 때 아래와 같은 오류 상황이 발생할 수 있습니다.
- 파일이 존재하지 않는 경우 (FileNotFoundException)
- 파일에 접근할 권한이 없는 경우 (SecurityException)
- 파일 형식이 잘못된 경우 (IOException)
이러한 예외 상황에 대비하여 예외 처리 코드를 작성해야 합니다. 아래 예제는 파일에서 데이터를 읽어오는 코드입니다.
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class FileReadExample {
public static void main(String[] args) {
try {
BufferedReader reader = new BufferedReader(new FileReader("file.txt"));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
reader.close();
} catch (FileNotFoundException e) {
System.err.println("파일을 찾을 수 없습니다.");
} catch (IOException e) {
System.err.println("파일을 읽을 수 없습니다.");
}
}
}
위 코드에서는 FileReader를 사용하여 파일을 열고, BufferedReader를 사용하여 한 줄씩 읽어옵니다. FileReader 생성자에서 FileNotFoundException이 발생할 수 있으므로 이를 처리합니다. 또한 readLine() 메서드에서 IOException이 발생할 수 있으므로 이를 처리합니다.
2. 파일 데이터 쓰기 오류 처리하기
파일에 데이터를 쓸 때 아래와 같은 오류 상황이 발생할 수 있습니다.
- 파일에 접근할 권한이 없는 경우 (SecurityException)
- 파일의 용량이 가득 찬 경우 (IOException)
이러한 예외 상황에 대비하여 예외 처리 코드를 작성해야 합니다. 아래 예제는 파일에 데이터를 쓰는 코드입니다.
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
public class FileWriteExample {
public static void main(String[] args) {
try {
BufferedWriter writer = new BufferedWriter(new FileWriter("file.txt"));
writer.write("Hello, World!");
writer.close();
} catch (IOException e) {
System.err.println("파일에 쓸 수 없습니다.");
}
}
}
위 코드에서는 FileWriter를 사용하여 파일을 생성하고, BufferedWriter를 사용하여 데이터를 씁니다. FileWriter 생성자에서 IOException이 발생할 수 있으므로 이를 처리합니다.
3. 참고 자료
- Java 파일 입출력: https://docs.oracle.com/javase/tutorial/essential/io/
- BufferedWriter 클래스 문서: https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/BufferedWriter.html
- FileReader 클래스 문서: https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/FileReader.html
파일 데이터 읽기 및 쓰기 시 발생할 수 있는 오류 상황에 대해 알아보았습니다. 항상 파일 작업에 대한 예외 처리를 잊지 않도록 주의해야 합니다.