Java
Java IOException
승모근뭉치
2023. 1. 29. 02:30
프로젝트 내 src 내 javabasic 패키지 내 Ex4Exception.java
package javabasic;
import java.io.FileWriter;
import java.io.IOException;
public class Ex4Exception {
public static void main(String[] args) {
// TODO Auto-generated method stub
// 파일에 저장
FileWriter fw = null;
String fileName = "C:\\java0901\\memo.txt";
try {
fw = new FileWriter(fileName);
fw.write("파일에 저장했어요");
System.out.println("파일확인");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
try {
fw.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
java.io.FileNotFoundException: C:\java0901\memo.txt (지정된 경로를 찾을 수 없습니다)
at java.io.FileOutputStream.open0(Native Method)
at java.io.FileOutputStream.open(FileOutputStream.java:270)
at java.io.FileOutputStream.<init>(FileOutputStream.java:213)
at java.io.FileOutputStream.<init>(FileOutputStream.java:101)
at java.io.FileWriter.<init>(FileWriter.java:63)
at javabasic.Ex4Exception.main(Ex4Exception.java:14)
Exception in thread "main" java.lang.NullPointerException
at javabasic.Ex4Exception.main(Ex4Exception.java:22)
위의 코드를 실행하면 오류가 난다. C 드라이브 밑에 java0901 폴더를 만들면 오류가 나지 않는다.
Exception in thread "main" java.lang.NullPointerException
at javabasic.Ex4Exception.main(Ex4Exception.java:22)
NullPointerException 이
fw.close();
에서도 난다.
이 오류가 나기 전에
fw = new FileWriter(fileName);
요 윗줄에서 지정된 경로를 찾을 수 없다면서 오류가 먼저 나서 그런 것이다.
그래서 fw 는 여전히 null 값이라 NullPointerException 이 나는 듯하다..