我在Intelij中创建一个Javafx应用程序,FileInputStream
完美无缺。但是,当我从项目创建.jar文件并尝试运行它时,代码无法运行,因为它无法在文件输入流中找到该文件。
这是我的代码:
ObjectInputStream os = new ObjectInputStream(new FileInputStream("src/settingStorage.bin"));
我做错了吗?
答案 0 :(得分:0)
访问jar外的文件总是存在一些问题,具体取决于文件位置的位置。您可以查看此SO问题/答案,以了解访问您的文件。
答案 1 :(得分:0)
试试这个:
编辑:再看看这个,我把它分开了。
ObjectInputStream os = new ObjectInputStream(new FileInputStream(SomeClass.class.getResourceAsStream(“settingStorage.bin")));
这通常对我有用。当我运行它时,它在开发区域内和运行良好。不要包含/ src,因为当你从类中调用getResourceAsStream时,它已经在jar中检查了。
干杯!