Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
尝试在Java/Netbeans的所有版本中获取文件路径_Java_File_Netbeans_File Io_Io - Fatal编程技术网

尝试在Java/Netbeans的所有版本中获取文件路径

尝试在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 (

因此,我正在开发一个游戏,我需要有关保存文件的文件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 (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");