我在使用可执行jar文件让我的项目工作时遇到了一些问题(在eclipse IDE之外)。我想出了java -jar fileName.jar的问题
这是代码:
fileIn = new Scanner(new File("src//resources//TestSave.txt"));
通过一些故障排除和研究,我理解这在可执行jar中不起作用,因为它没有src文件夹,只在IDE中创建。这是我的解决方案:
fileIn = new Scanner(new File("D://resources//TestSave.txt"));
唯一的问题是,如果我想把这个程序放在我的简历上,那么谁会查看它将必须将文件夹放入他们的D盘。我希望它快速简便,以便他们可以毫不费力地查看我的项目。
如何在不必引用/创建任何外部文件夹的情况下访问可执行jar文件中的resources文件夹?
你有两个选择。
fileIn = new Scanner(new File("./TestSave.txt"));
相同的文件中在JAR中使用getResourceAsStream(无文件):
InputStream inputStream = classLoader.getResourceAsStream("TestSave.txt");
Scanner input = new Scanner(inputStream);