当我运行我的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里面。我只想读取文件,我该怎么办?
答案 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"));