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