尝试在Java/Netbeans的所有版本中获取文件路径
因此,我正在开发一个游戏,我需要有关保存文件的文件I/o的帮助。目前,我有类似这样的设置可以从中读取:尝试在Java/Netbeans的所有版本中获取文件路径,java,file,netbeans,file-io,io,Java,File,Netbeans,File Io,Io,因此,我正在开发一个游戏,我需要有关保存文件的文件I/o的帮助。目前,我有类似这样的设置可以从中读取: public static void savesManagementMenu() { for (int i = 1; i < 4; i++) { fileURL = JRPG.class.getResource("Saves/save" + i + ".txt"); System.out.println(fileURL); if (
public static void savesManagementMenu() {
for (int i = 1; i < 4; i++) {
fileURL = JRPG.class.getResource("Saves/save" + i + ".txt");
System.out.println(fileURL);
if (fileURL != null) {
saveMenuSaveFile = new File(fileURL.getPath());
try {
//System.out.println("File # " + i +" exists.");
saveMenuSaveFileReader = new FileReader(fileURL.getPath());
saveMenuFileScanner = new Scanner(saveMenuSaveFileReader);
saveMenuInfo[i - 1][0] = saveMenuFileScanner.nextLine();
saveMenuFileScanner.nextLine();
saveMenuFileScanner.nextLine();
saveMenuFileScanner.nextLine();
saveMenuInfo[i - 1][1] = saveMenuFileScanner.nextLine();
saveMenuInfo[i - 1][2] = saveMenuFileScanner.nextLine();
} catch (FileNotFoundException ex) {
Logger.getLogger(JRPG.class.getName()).log(Level.SEVERE, null, ex);
}
} else {
saveMenuInfo[i - 1][0] = null;
}
}...
2013年8月22日晚上11:54:18 jrpg.jrpg保存管理菜单
严重:空
java.io.FileNotFoundException:文件:\C:\Users\Adam\Desktop\New%20folder\JRPG.jar
!\jrpg\Saves\save1.txt(文件名、目录名或卷标语法为
(不正确)
游戏就这样僵化了。运行编译代码时,我希望它查看的保存文件的文件路径是:C:\Users\Adam\Desktop\New folder\saves
哪个是相对文件路径对吗?如何解决此问题,使编译后的代码无论从何处运行,都位于正确的位置?(假设我的朋友想从他的电脑上运行游戏,除了他把“新文件夹”文件夹放在桌面以外的其他地方)嵌入式资源不是
文件,不能被视为一个文件。另外,对于输出文件,无论如何都不应该尝试在应用程序内部保存
而是将文件保存到应用程序的相对位置
File saveMenuSaveFile = new File("./Saves/save" + i + ".txt");
或到用户的主目录
String userHome = System.getProperty("user.home");
File saveMenuSaveFile = new File(userHome + "/.YouApplicationName/Saves/save" + i + ".txt");
String userHome = System.getProperty("user.home");
File saveMenuSaveFile = new File(userHome + "/.YouApplicationName/Saves/save" + i + ".txt");