Java 如果文件存在,如何创建备份文件
我想为我的文件Java 如果文件存在,如何创建备份文件,java,file,while-loop,Java,File,While Loop,我想为我的文件autoexec.cfg创建一个备份backup\u autoexec“+value+”.cfg,如果它存在的话。如果已经存在和备份,则应增加值编号。例如backup1,backup2,backup3 public class Backup { private int value1 = 0; private String value; private File file = new File("autoexec.cfg"); private boo
autoexec.cfg
创建一个备份backup\u autoexec“+value+”.cfg
,如果它存在的话。如果已经存在和备份,则应增加值编号。例如backup1
,backup2
,backup3
public class Backup {
private int value1 = 0;
private String value;
private File file = new File("autoexec.cfg");
private boolean exists = file.exists();
private Path backup;
private Path auto = Paths.get("autoexec.cfg");
public void kopie() {
if(exists) {
while(exists) {
System.out.println("test");
value1 += 1;
value = String.valueOf(value1);
file = new File("backup_autoexec" + value + ".cfg");
backup = Paths.get("backup_autoexec" + value + ".cfg");
}
try {
Files.move(auto, backup);
}
catch (IOException f) {
f.printStackTrace();
}
}
}
}
atm将永远挂在while循环中,我不知道为什么。您只检查一次存在性-第一个文件。下面是一个简单的工作示例:
int index = 1;
while (true) {
final String source = "autoexec" + index + ".txt";
if (new File(source).exists()) {
Files.copy(Paths.get(source), Paths.get(path + "\\backup_file" + index + ".txt"));
index++;
} else {
break;
}
}
如果找不到具有现有名称的文件,则应退出循环您何时尝试退出循环?我看不到任何地方
存在
更改实际上,您在(存在)时获得了,但存在
从未被修改。