Java getResourceAsStream中的InputStream结果为空

Java getResourceAsStream中的InputStream结果为空,java,netbeans,jar,nullpointerexception,inputstream,Java,Netbeans,Jar,Nullpointerexception,Inputstream,上面的代码在NetBeans中工作。但是,当我将代码打包到一个可执行Jar中并从命令行运行它时,由于未初始化的输入,它给了我一个NullPointerException。所以我怀疑Jar无法读取打包在其中的资源文件。文件夹Resources直接位于我的项目的源文件夹下。有人能给你一些提示吗?你应该这样写: InputStream input = Faculty.class.getClassLoader().getResourceAsStream("Resources\\Names

上面的代码在NetBeans中工作。但是,当我将代码打包到一个可执行Jar中并从命令行运行它时,由于未初始化的
输入
,它给了我一个NullPointerException。所以我怀疑Jar无法读取打包在其中的资源文件。文件夹
Resources
直接位于我的项目的源文件夹下。有人能给你一些提示吗?

你应该这样写:

        InputStream input = Faculty.class.getClassLoader().getResourceAsStream("Resources\\Names.txt");
        DataInputStream in = new DataInputStream(input);
        BufferedReader br = new BufferedReader(new InputStreamReader(in));
        String strLine;
        while ((strLine = br.readLine()) != null && !strLine.equals("")) {
            keywords.add(strLine);
        }

如果不添加前缀“/”,则表示路径基于类路径,而不是根路径

您尝试了什么?另外,您没有在任何地方使用该输入流,看起来您有一个fstream elsewhere指向Names.txt文件的完整限定路径是什么?@Farlan抱歉,这是一个输入错误。@user717630它在我的项目的源文件夹下。指向资源的路径在您的类路径中吗?例如:./somepath/如果资源在/somepath/Resources/下,则在类路径中?
getResourceAsStream("/Resources/Names.txt");