您的位置:首页 > 编程语言 > Java开发

解决java工程打包后无法找到资源文件路径的方法

2012-09-09 14:16 537 查看
问题描述:

一般情况下我们希望将一些固定的资源文件通过eclipse一起导出到一个jar包中。例如以下的一个工程资源布局:



此工程到处以后红色部分是不会导入到jar包里面的,而绿色部分是可以导入到jar包里的。

那么利用资源时在代码中使用相对路径比如读红色部分file中的file.txt文件使用 String path = “file/file.txt”; 是没有问题的。但是打成jar包后你必须在jar包所存放的目录新建一个file目录里面放一个file.txt文件。是很麻烦的。

那么如何获得绿色部分的file.txt的文件流呢?你可以在工程的测试中使用相对路径 比如 Stringpath = “src/file/txt/file.txt 这样也是没问题的,可是遗憾的是在工程打成jar包以后src目录就不见了。而这个路径也是错误的。

所以最好的方法是利用java提供的方法获得流。

BufferedReader br = new BufferedReader(new InputStreamReader(this.getClass().getResourceAsStream("/file/txt/file.txt")));

And also! you can use it the way showing below:
Image i = ImageIO.read(Main.class.getResourceAsStream("/lib/automap.png"));

注意的是,路径的开头的 / 是不能少的,它代表的就是从src目录-根目录,而资源文件路径就是从src开始找,根据图片的结构可以看出,file.txt 就是在 file目录的txt目录下。这样工程打包以后同样可以找到路径。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐