1

プログラムを保存しようとしていますが、存在するプログラムを保存しようとするたびに (つまり、2 回目の実行)、一時ファイルが作成されますが、古いファイルは上書きされません。

これがコードです。古いファイルを新しいファイルで上書きしない理由を誰でも見つけることができますか?

public static void saveBallotData(int i)throws IOException{

    PrintWriter outputFile;
    outputFile = new PrintWriter("temp2.txt");
    File tempCheck = new File (list.get(i).getBallotNumber()+".txt");
    if(tempCheck.exists()){
        Scanner inputFile = new Scanner(tempCheck);
        for(int m = 0; m < list.get(i).getNumberOfChoices(); m++){
            if(list.get(i).getVote().equals(list.get(i).getChoice(m))){
                //outputFile.println(list.get(i).getChoice(m) + ":" + getInt(m, tempCheck) + 1);
                inputFile.nextLine();
            }
            else{
                outputFile.println(inputFile.nextLine());
            }
        }
    }
    else{
        for(int a = 0; a < list.get(i).getNumberOfChoices(); a++){
            if(list.get(i).getVote().equals(list.get(i).getChoice(a))){
                outputFile.println(list.get(i).getChoice(a) + ":" + "1");
            }
            else{
                outputFile.println(list.get(i).getChoice(a) + ":" + "0");
            }
        }
    }
    System.out.println("PHE");
    outputFile.close();
    File g = new File("temp2.txt");
    File f = tempCheck;
    f.delete();
    g.renameTo(f);
}
4

0 に答える 0