我有一个应用程序必须从文本文件中读取(使用FileInputStream)。文本文件位于相对于类文件的目录结构中(例如“../textdir/text.txt”)。当我正常运行它(即在cp中指定包含.class文件的/ bin文件夹)时,一切正常。然而,我不知何故需要将所有东西都打包成一个jar文件,而当我运行这个jar文件时什么都行不通该错误类似于“FileNotFOund:MyJar.jar!/textdir/text.txt”。我在jar文件上运行jar -tvf,并且文本文件确实在里面。我已阅读但未写入对源代码的访问权限。在Jar中查找文本文件
不止是试图解决我的问题(我认为有很多解决方法),有人可以向我解释整个事情是如何工作的吗?该jar如何搜索文件?如果我想从命令提示符的当前工作目录读取而不是在jar文件中的.class目录,该怎么办?另外,当我将非jar项目转换为jar时,我最近也遇到了类似的加载资源问题,这是如何工作的?
相关问题:http://stackoverflow.com/questions/574809/java-load-a-resource-contained-in-a-jar – 2009-09-21 22:29:08