在jar中访问csv文件

时间:2013-11-27 17:16:02

标签: java file embedded-resource

当我运行我的jar时,我尝试了访问csv文件的所有内容。 我将csv放在Eclipse中的资源包中,当我从中运行代码时它很好,但是当我从可执行文件运行jar时它不起作用。

ClassLoader c = MyClass.class.getClassLoader();
URL url = c.getResource("com/mysoft/resources/");
String path = URLDecoder.decode(url.getPath(), "utf-8");
File f = new File(path+ "VAL.csv");
if(f.exists())
...

我不想把这个文件放在jar里面。我只想读取文件,我该怎么办?

2 个答案:

答案 0 :(得分:3)

如果您只想阅读文件,可以这样做:

InputStreamReader isr = new InputStreamReader(getClass().getResourceAsStream(csvPath)));
BufferedReader br = new BufferedReader(isr);

答案 1 :(得分:1)

使用getResourceAsStream,您应该尽可能指定编码。试试这个:

in = new BufferedReader(
       new InputStreamReader(
         new BufferedInputStream(
           this.getResourceAsStream("myPackage/myFile.txt")),
         "UTF-8"));