目前,我有以下几点:
if(Menu.menuChoice == 0){
if(Menu.menuChoice == 0){
if(Library.ManualList.size() > 0){
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==true){
try {
File file = new File("Library.txt");
System.getProperty("user.home");
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();
System.out.println("\n\n--------------------------------------------------------------------------");
System.out.println("\n Library saved!\n");
System.out.println("--------------------------------------------------------------------------\n");
break exit;
} catch (IOException e) {
System.out.println("Error! Library unable to save.");
}
}
else if(saveYesNo==false){
System.out.println("\n\n--------------------------------------------------------------------------");
System.out.println("\n Library not saved!\n");
System.out.println("--------------------------------------------------------------------------\n");
break exit;
}
Menu.displayMenu();
}else if(Library.ManualList.isEmpty()){
Menu.displayMenu();
}
}
} 它将一个文本文件保存在Eclipse的工作区目录中,类文件位于该目录中。但是,当我将这个项目导出到一个".jar“文件时,我希望将文本文件保存在与jar文件或桌面文件相同的dir中。然而,我读过关于"User.home“的文章,因为我对编程还不熟悉,所以我还没能让它开始工作。有谁知道我怎么做到的吗?
编辑
更新代码:
if(Menu.menuChoice == 0){
if(Menu.menuChoice == 0){
if(Library.ManualList.size() > 0){
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==true){
try {
String path = System.getProperty("user.dir") + File.separator + "Library.txt";
File file = new File(path);
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();
System.out.println("\n\n--------------------------------------------------------------------------");
System.out.println("\n Library saved!\n");
System.out.println("--------------------------------------------------------------------------\n");
break exit;
} catch (IOException e) {
System.out.println("Error! Library unable to save.");
}
}
else if(saveYesNo==false){
System.out.println("\n\n--------------------------------------------------------------------------");
System.out.println("\n Library not saved!\n");
System.out.println("--------------------------------------------------------------------------\n");
break exit;
}
Menu.displayMenu();
}else if(Library.ManualList.isEmpty()){
Menu.displayMenu();
}
}
} 发布于 2015-01-07 13:43:51
以下几点应该能起作用。
String path = System.getProperty("user.dir") + File.separator + "foo.txt";
File customfile = new File(path);这个
String path = System.getProperty("user.dir") + File.separator + "foo.txt";
获取用户所在的当前目录。
System.getProperty("user.dir")
获取文件分隔符。
File.separator
最后,将使用的文本文件命名为
foo.txt。
在那之后,
File customfile = new File(path);
使用刚才创建的path变量创建新文件,该变量保存文件的放置位置。
https://stackoverflow.com/questions/27820570
复制相似问题