eclipse中的java链接文本资源
我想解析一个名为“hops.txt”的文本文件,它位于一个名为“res”的文件夹中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() {
在主项目的文件夹中 运行以下代码时:
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文件夹添加到类路径中。