0

我想解析一个名为“hops.txt”的文本文件,该文件位于
主项目文件夹中名为“res”的文件夹中。

运行以下代码时:

package parsing;

import java.io.InputStream;

public class ParseTest {
public static void main(String[] args) {
    ParseTest pt = new ParseTest();
    pt.foo();
}
public void foo()
{
    InputStream is= this.getClass().getClassLoader().getResourceAsStream("hops.txt");
    System.out.println(is);
    is= this.getClass().getResourceAsStream("hops.txt");
    System.out.println(is);
}
}

我收到以下输出:
null
null

我究竟做错了什么?谢谢!

项目布局

4

2 回答 2

3

假定路径参数getResourceAsStream是相对于您的项目根目录的。由于此文本文件位于项目中的文件夹中,因此您必须在资源路径中包含文件夹名称。

this.getClass().getResourceAsStream("/res/hops.txt");
于 2012-07-13T21:39:27.817 回答
1

通过删除文件夹 res 并将所有文件放在“src”文件夹下名为“res”的包下解决了该问题。
之后使用代码:

InputStream is= this.getClass().getResourceAsStream("/res/hops.txt");

它奏效了。

于 2012-07-14T06:57:52.757 回答