gpt4 book ai didi

java - 文件被赋予新名称但仍替换以前的文件

转载 作者:行者123 更新时间:2023-12-01 12:35:56 26 4
gpt4 key购买 nike

我正在创建一个程序来存储商店的基本销售信息,我希望它每周创建一个新的 .txt 文件来存储所述信息。我尝试创建一段代码,首先检查该周数的文件是否已存在,如果存在,则将允许用户替换该周的文件,或者通过执行以下操作创建一个具有所选周数的新文件以下内容:

try{
File fileTest = new File("Weeks\\Week " + weekNum + ".txt");

if(fileTest.exists()){
while(fileTest.exists()){

replaceFile = JOptionPane.showInputDialog("There is already a file for Week " + weekNum + ". Replace? Yes/No");

if(replaceFile.equalsIgnoreCase("No")){
weekNum = Integer.parseInt(JOptionPane.showInputDialog("Enter the week number you would like to create."));
fileTest.renameTo(new File("Weeks\\Week " + weekNum + ".txt"));
}else if(replaceFile.equalsIgnoreCase("Yes")){
BufferedWriter fileOut = new BufferedWriter(new FileWriter("Weeks\\Week " + weekNum + ".txt"));
itemDisplay.write(fileOut);
fileOut.close();
weekNum++;
}else{
JOptionPane.showMessageDialog(null, replaceFile + " was not recognized.");
}
}
}else{
BufferedWriter fileOut = new BufferedWriter(new FileWriter("Weeks\\Week " + weekNum + ".txt"));
itemDisplay.write(fileOut);
fileOut.close();
weekNum++;
}
}catch(Exception e) {}

如果我选择替换该文件,它可以正常工作,只需用新信息覆盖旧文件即可。但是,如果我选择不替换文件并选择不存在的新一周,它会完美地创建新一周,但它也会删除旧一周的文件。我找不到任何发生这种情况的原因,所以我问:当我选择不替换旧的一周时,我必须更改什么才能让程序保留旧的一周并创建新的一周?

最佳答案

替换这个

fileTest.renameTo(new File("Weeks\\Week " + weekNum + ".txt"));

通过以下方式

fileTest = new File("Weeks\\Week " + weekNum + ".txt");

另外,你的 if 测试是无用的(while 循环就足够了),你的第一个 inputDialog 最好是一个 informDialog。

关于java - 文件被赋予新名称但仍替换以前的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25592681/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com