Java 在构建后使用getResourceAsStream不是';不行吗?

Java 在构建后使用getResourceAsStream不是';不行吗?,java,netbeans,getresource,Java,Netbeans,Getresource,在我的netbeans Java项目中,我获得了一个文本文件内容,以使用以下内容填充一些内部数据结构: InputStream PFile = this.getClass().getResourceAsStream("../../IISP Details/IISP.txt"); // Get File to create IISP's String[] PStringArray = new Scanner(PFile, "UTF-8").useDelimiter("\\A").next(

在我的netbeans Java项目中,我获得了一个文本文件内容,以使用以下内容填充一些内部数据结构:

InputStream PFile = this.getClass().getResourceAsStream("../../IISP Details/IISP.txt"); // Get File to create IISP's
    String[] PStringArray = new Scanner(PFile, "UTF-8").useDelimiter("\\A").next().split("\\r?\\n");
但是当我清理并构建我的项目时,它就不起作用了

想法

编辑:

更多信息

代码在“loadMaster”类的cs.analyzer.gui.master包中调用

该文件位于cs.analyzer.IISPDetails中

我可以看出它找不到文件-有其他选择吗?或者在我构建文件时将其捆绑在一起?

试试这个

InputStream PFile = this.getClass().getResourceAsStream("IISP.txt"); // Get File to create IISP's
String[] PStringArray = new Scanner(PFile, "UTF-8").useDelimiter("\\A").next().split("\\r?\\n");
并将IISP.txt添加到类路径中的某个位置


不知道类路径

我根本不希望
getResourceAsStream
中工作。它用于查找类路径上的资源,而不是类路径“旁边”的资源。告诉您如何运行应用程序、类从何处加载、包含此代码的类名是什么、资源位于何处。伊恩·罗伯茨是对的。。在getResourceAsStream()中不起作用。使用一个绝对路径,从
/
开始,从类路径的根开始到您的文件。@jbnize对不起,您可以详细说明绝对路径是什么样子吗?如果文件在
cs.analyzer.IISPDetails
包中,那么您应该使用
/cs/analyzer/IISPDetails/IISP.txt
。假设文件是一个类,位于要导入的包中。您可以使用
import com.foo.blah.IISP Details.IISP.txt
。用斜线替换每个分隔包的点,并用斜线替换。路径将变成
/com/foo/blah/IISP Details/IISP.txt
。在包名中使用空格是一个非常非常糟糕的主意。不要那样做。