我有一个问题困扰了我好几天......我检查了类似的问题,但找不到解决方案。
我使用 NetBeans IDE。我构建了项目 jar 文件,即“Clock.jar”,其中包含一个名为“时钟”的文件夹,其中可以找到一些图像、文本文件和所有项目类。以下用于创建图像图标的代码有效
return new ImageIcon(getClass().getResource("/clock/button_close.png"));
Run Code Online (Sandbox Code Playgroud)
但是下面读取文本文件的代码失败了
InputStream name = getClass().getResourceAsStream("/clock/input.txt");
BufferedReader reader = new BufferedReader(new InputStreamReader(name));
Run Code Online (Sandbox Code Playgroud)
正如您可能已经猜到,抛出 NullPointer 异常意味着它可能无法找到该文件。
但是为什么图像图标构造成功(通过传递从 getResource 返回的 URL)但找不到 txt 文件(通过传递来自 getResourceAsStream 的输入流)。
提前致谢,对于任何答案(我是认真的:))
jar -tvf Clock.jar
0 Wed May 15 14:44:36 EEST 2013 META-INF/
202 Wed May 15 14:44:34 EEST 2013 META-INF/MANIFEST.MF
0 Wed May 15 14:44:36 EEST 2013 clock/
649 Wed May 15 14:44:36 EEST 2013 clock/Clock$1$1.class
789 Wed May 15 14:44:36 EEST 2013 clock/Clock$1.class
2026 Wed May 15 14:44:36 …Run Code Online (Sandbox Code Playgroud)