0
        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);
        }

上面的代码在 NetBeans 中工作。但是当我将代码打包到一个可执行的 Jar 中并从命令行运行它时,它给了我一个 NullPointerException 因为未初始化的input. 所以我怀疑 Jar 无法读取打包在其中的资源文件。该文件夹Resources直接位于我项目的源文件夹下。任何人都可以提示尝试什么吗?

4

1 回答 1

0

你应该这样写:

getResourceAsStream("/Resources/Names.txt");

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

于 2013-04-02T02:06:40.517 回答