导出为.jar文件后的FileNotFoundException

我正在使用Eclipse并开发一个使用本地文件的java应用程序。 该文件位于项目文件夹内,在子文件夹中,说“mydata / myfile.txt”当我从eclipse运行应用程序时一切正常,我打开一个FileInputStream,传递“mydata / myfile.txt”作为名称,文件是读得很好。 但是当我将我的应用程序导出为.jar并尝试运行它时,我得到的只是控制台中的FileNotFoundException。

如何导出程序以便它可以在任何计算机上运行并能够访问该文件? 先谢谢你。

当您的应用程序导出为jar时,您的配置文件不能作为文件提供,因为它包含在.jar文件中。 相反,您应该通过ClassLoader.getResourceAsStream()访问它。 有关更多背景信息,请参阅此SO问题 。

也许这会对你有所帮助

 InputStream in=ClassLoader.getSystemResourceAsStream("your file");