1. ホーム
  2. java

[解決済み] PrintWriterがファイルへの印刷に失敗する

2022-01-29 18:11:10

質問

ファイルは正常に作成されているのですが、PrintWriterでテキストファイルに何も印刷することができません。コードを教えてください。

import java.io.File;
import java.util.Scanner;
import java.io.IOException;
import java.io.PrintWriter;

public class exams {
    public static void main (String[] args) throws IOException{
        Scanner scanner = new Scanner(System.in);
        System.out.println("How many scores were there?");
        int numScores = scanner.nextInt();
        int arr[] = new int[numScores];

        for (int x=0; x<numScores; x++){
            System.out.println("Enter score #" + (x+1));
            arr[x] = scanner.nextInt();
        }

        File file = new File("ExamScores.txt");
        if(!file.exists()){
           file.createNewFile();
           PrintWriter out = new PrintWriter(file);
            for (int y=0; y<arr.length; y++){
                out.println(arr[y]);
            }
        }
        else {
            System.out.println("The file ExamScores.txt already exists.");
        }   
    }
}

解決方法は?

データをディスクに書き込むには、ファイルをフラッシュおよび/またはクローズする必要があります。

追加 out.close() をコードに追加してください。

PrintWriter out = new PrintWriter(file);
for (int y=0; y<arr.length; y++){
    out.println(arr[y]);
}
out.close()