【发布时间】:2010-04-19 11:13:42
【问题描述】:
我正在尝试读取文件内容,例如:
public void myMethod(){
FileInputStream fstream = new FileInputStream(fileLocation);
BufferedReader br = new BufferedReader(new InputStreamReader(fstream));
String strLine;
while ((strLine = br.readLine()) != null) {
....
....
.....
end while
end method
我在课程开始时有private String fileLocation;,在课程结束时我有一个getter 和setter。现在我正在尝试从这个类的 bean 中的 spring 注入这个文件位置,并指定这个类的 init-method。但是我得到错误找不到指定的文件,好像它不在类路径上但它在war文件中?我正在使用 maven 构建项目并将文件放入 src/main/resources 这是我尝试读取文件时遇到的错误:
错误:src\main\resources\ids.txt (系统找不到路径 指定)
那是我尝试这个的时候:
FileInputStream fstream = new FileInputStream("src\\main\\resources\\ids.txt");
如何从类路径中正确引用?
编辑
当我根据@BalusC 解决方案编辑我的代码时,它是这样的,但我仍然收到null 错误:
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
InputStream input = classLoader.getResourceAsStream("src/main/resources/ids.txt");
BufferedReader br = new BufferedReader(new InputStreamReader(input));
String strLine;
while ((strLine = br.readLine()) != null) {
....
....
.....
end while
end method
【问题讨论】:
标签: java