파일을 읽고 아래 코드를 통해 직렬화하려고합니다. 그러나 나는 파일을 찾을 수없는 오류가 계속 발생합니다. 나는 폴더에, 바탕 화면에 파일을 넣고 일식 자체에서 새 파일을 만들려고했습니다. 도와주세요.java.io.FileNotFoundException 오류
코드 :
public class Util implements Serializable {
public static void main (String[] args) throws FileNotFoundException {
try {
Automobile ford = new Automobile();
FileReader fr = new FileReader(
"C:/Users/FName LName/Desktop/Data.txt");
BufferedReader br = new BufferedReader (fr);
String line = new String();
FileOutputStream fos = new FileOutputStream ("car.ser");
ObjectOutputStream oos = new ObjectOutputStream(fos);
FileInputStream fis = new FileInputStream ("car.ser");
ObjectInputStream ois = new ObjectInputStream(fis);
int k=0;
while ((line = br.readLine()) != null) {
StringTokenizer st = new StringTokenizer(line);
String s = new String();
if (st.hasMoreTokens()) {
s = st.nextToken();
}
OptionSet list = new OptionSet();
int j = 0;
while (st.hasMoreTokens()) {
String temp = st.nextToken();
String name = new String();
int price = 0;
StringTokenizer token = new StringTokenizer (temp);
while (token.hasMoreTokens()) {
name = token.nextToken(",");
price = Integer.parseInt(token.nextToken(","));
list.setOption(j,name,price);
}
j++;
}
list.setName(s);
ford.getOs().add(k, list);
k++;
}
oos.writeObject(ford);
ford = (Automobile) ois.readObject();
for(int i=0;i< ford.getOs().size();i++) {
System.out.print(ford.getOs().get(i).getName()+":");
for(int j=0;j<ford.getOs().get(i).getOpt().size();j++) {
System.out.print(ford.getOs().get(i).getOpt().get(j).getName() +
"," + ford.getOs().get(i).getOpt().get(j).getCost()+" ");
}
System.out.println();
}
ois.close();
oos.flush();
oos.close();
br.close();
} catch (IOException e) {
System.out.println("File not found");
} catch (ClassNotFoundException e) {
System.out.println("File not found");
}
}
}
가 미래에 당신이 사용하는 언어와 귀하의 질문에 태그를하시기 바랍니다. 이렇게하면 필요한 도움을받는 것이 훨씬 더 빠릅니다. –
폴더 이름의 철자가 맞습니까? –
ClassNotFoundException을 잡을 때 "파일을 찾을 수 없음"이라는 오류 메시지를 인쇄하는 것은 좋지 않습니다. ClassNotFoundException는 클래스가 정의되지 않았기 때문에 ObjectInputStream의 객체를 읽을 수 없다는 것을 의미합니다. 클래스가 정의되지 않았으므로 파일을 찾을 수 없습니다. 라이브러리를 변경했을 때 문제가 해결되었다는 주장은 FileNotFoundException이 아니라 문제가 아니라 ClassNotFoundException을 암시합니다. – rec