eclipse中的java链接文本资源

eclipse中的java链接文本资源,java,eclipse,resources,Java,Eclipse,Resources,我想解析一个名为“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() {

我想解析一个名为“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);
}
}
我收到以下输出:

空的

我做错了什么?谢谢


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

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

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

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

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

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

它成功了。

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

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

项目根目录也必须在类路径上,默认情况下不是这样。我相信正确的路径应该是“res/hops.txt”。前面的斜杠使其成为绝对值。这两种方法仍然返回Null。您没有将res文件夹添加到类路径。项目根目录也必须位于类路径上,默认情况下不是。我相信正确的路径应该是“res/hops.txt”。前面的斜杠表示它是绝对的。这两种方法都会返回null,因为您没有将res文件夹添加到类路径中。