Java-如果存在文本文件,则创建新文件,并添加;1“;
如何更改代码以查找现有的“Library.txt”文件,如果存在,则创建一个名为“Library1”的新文件,等等 我目前有以下代码:Java-如果存在文本文件,则创建新文件,并添加;1“;,java,count,append,Java,Count,Append,如何更改代码以查找现有的“Library.txt”文件,如果存在,则创建一个名为“Library1”的新文件,等等 我目前有以下代码: if(Menu.menuChoice == 7 && Library.ManualList.isEmpty()){ System.out.println(Messages.addManualFirst); Menu.displayMenu();
if(Menu.menuChoice == 7 && Library.ManualList.isEmpty()){
System.out.println(Messages.addManualFirst);
Menu.displayMenu();
}
else if(Menu.menuChoice == 7){
Library.displayManualList();
boolean saveYesNo = Console.readYesNo("\nThe manualKeeper® app is able to save your current library to a '.txt' \nfile in your workspace directory.\n\nWould you like to save the current library? (Y/N):\n");
if(saveYesNo){
try {
File file = new File("Library.txt");
file.delete();
file.createNewFile();
FileWriter fw = new FileWriter(file, true);
PrintWriter pw = new PrintWriter(fw);
for (int i = 0; i < Library.ManualList.size(); i++){
pw.println("\n-------------------- Index Number: " + i + " --------------------");
pw.println(Library.ManualList.get(i).displayManual());
pw.println("---------------------------------------------------------");
}
pw.close();
} catch (IOException e) {
System.out.println("Error! Library unable to save.");
}
System.out.println("\n\n--------------------------------------------------------------------------");
System.out.println("\n Library saved!\n");
System.out.println("--------------------------------------------------------------------------\n");
}
else if(saveYesNo){
System.out.println("\n");
}
Menu.displayMenu();
}
if(Menu.menuChoice==7&&Library.ManualList.isEmpty()){
System.out.println(Messages.addManualFirst);
Menu.displayMenu();
}
else if(Menu.menuChoice==7){
Library.displayManualList();
布尔值saveYesNo=Console.readYesNo(“\nManualKeeper®应用程序能够将当前库保存到工作区目录中的“.txt”\n文件中。\n\n是否保存当前库?(Y/n):\n”);
if(saveYesNo){
试一试{
File File=新文件(“Library.txt”);
delete();
createNewFile();
FileWriter fw=新的FileWriter(文件,true);
PrintWriter pw=新的PrintWriter(fw);
对于(int i=0;i
不要调用file.delete()
,这将删除现有文件!我想你想要像这样的东西
File file = new File("Library.txt");
// file.delete();
// file.createNewFile();
for (int i = 1; file.exists(); i++) {
file = new File(String.format("Library%d.txt", i));
}
您可以将其理解为声明并初始化i
到1
,而文件
存在,请将其添加到i
。重新初始化文件
(在此期间)为字符串
“Library#.txt”,其中#
替换为i
您可以阅读格式化程序语法。这非常有效,但是是否有办法将信息附加到第一个library.txt,并且仅在应用程序关闭并再次启动后创建新的文本文件?保存
文件编写器(和/或打印编写器)在应用程序关闭并再次启动之前,不要重新打开它。另外,这真的是一个不同的问题。很抱歉,我不确定如何表达我的问题,因为我认为每次启动时只会添加一次“1”:(我是编程新手。你能给我一个如何保存FileWriter的示例吗?@James一个可能的选择是放置一个名为File getFilePath()的方法
在菜单
中,在该方法末尾返回上面的文件
。然后,您的代码可以是文件file=Menu.getFilePath()
。如果没有看到所有代码,很难判断,而且您应该再次提出新问题(并尝试一些事情)。您的方法可能被称为getFileWriter()
并返回文件编写器。欢迎来到开发世界。