1

我正在尝试保存我的程序,但是每当我尝试保存一个存在的程序(因此第二次运行)时,它都会创建临时文件,但它不会覆盖旧文件。

这是代码。谁能找出为什么它不会用新文件覆盖旧文件?

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