java.io.File s1 = new java.io.File("/saves/save1.sav");
java.io.File s2 = new java.io.File("/saves/save2.sav");
java.io.File s3 = new java.io.File("/saves/save3.sav");
java.io.File s4 = new java.io.File("/saves/save4.sav");
此代码将s变量设置为特定文件的位置。我正在寻找一种方法来使用for循环检查变量s +“i”是否存在,直到它发现它不存在,然后创建一个名为“save +”i“.sav”的新文件。 (+“i”表示它之后的数字。)基本上,我希望它创建一个新的保存文件,如果有的话,不会覆盖其他保存文件并给它命名为“save(save#)”的.sav”。上面的代码可能会过时。这样,我就不必编写一堆if语句,我可以将所有代码放在一个语句中。提前感谢愿意提供帮助的任何人。 -Santiago
答案 0 :(得分:1)
您可以分别找出问题的两个部分,然后将它们放在一起。
首先,你想要一个循环来查看不同的文件名,这些文件名只有一个整数。您可以通过在for循环中递增整数并使用String.format()来创建路径来执行此操作:
for (int n = 1; n <= 4; n++) {
String filePath = String.format("/saves/save%d.sav", n);
// ....
}
在这个循环中有了每个filePath(按照你喜欢的方式设置整数范围),你只需要检查它是否存在(解释为here),如果不存在,则创建它:
for (int n = 1; n <= 4; n++) {
String filePath = String.format("/saves/save%d.sav", n);
File checkFile = new File(filePath);
if (!checkFile.exists()) {
try {
checkFile.createNewFile();
// If you want to write content to the file, do it here...
} catch (IOException e) {
e.printStackTrace();
}
}
}
答案 1 :(得分:0)
File path_file = new File("/saves");
File f = null;
int i = 0;
while (f == null || f.exists()) {
i++;
String filename = "save" + i + ".sav";
f = new File(path_file, filename);
}
然后f将是你的新文件。
免责声明:我还没有用Java编程一段时间。