最近写的项目需要打成jar包,代码中有读取文件内容部分,在IDE上运行时没有任何问题的,但是打成jar就是找不到正确的路径和文件。网上查资料才发现,因为IDE上的是目录文件,而jar不是一个目录。
一般来说,我们都会把资源文件放在jar最外一层。下面就来说说怎么读取文件位置和文件内容:
this.getClass().getClassLoader().getResource("aa.txt").getFile();//获取文件路径
InputStream is = this.getClass().getClassLoader().getResourceAsStream("aa.txt");//读取文件内容
InputStreamReader reader = new InputStreamReader(is, "UTF-8");
BufferedReader bufferedReader = new BufferedReader(reader);
String lineText = null;
while((lineText = bufferedReader.readLine()) != null){
buffer.append(lineText);
}
bufferedReader.close();
reader.close();
快去试试看吧。