Java の PrintWriter について質問があります。ここに私のコードを示します。
import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.util.Scanner;
public class Out {
public static void main(String[] args) {
try{
File a=new File("C:/Users/Acer/Desktop/abc.txt");
PrintWriter out=new PrintWriter(a);
Scanner c=new Scanner(System.in);
while(c.hasNextInt()){
out.printf("%d", c.nextInt());
out.println();
c.close();
}
out.close();
System.out.println("input written into file successfully!");
}
catch(FileNotFoundException e){
System.out.println("The file not found");
}
}
}
プログラムを実行した後、ファイル abc の内容が失われ、スキャナ機能を実行して 1 2 3 4 5 と入力すると、次のエラーが表示されます。
1 2 3 4 5
Exception in thread "main" java.lang.IllegalStateException: Scanner closed
at java.util.Scanner.ensureOpen(Unknown Source)
at java.util.Scanner.hasNext(Unknown Source)
at java.util.Scanner.hasNextInt(Unknown Source)
at java.util.Scanner.hasNextInt(Unknown Source)
at Out.main(Out.java:17)
出力することになっています:
1
2
3
4
5
しかし、プログラムがファイルを見つけられないようです。どの部分が間違っているのかわかりません。助けてください。乾杯!