gpt4 book ai didi

java - 从 jar 读取 txt 文件失败,但读取图像有效

转载 作者:行者123 更新时间:2023-11-30 07:16:54 26 4
gpt4 key购买 nike

我有一个问题困扰了我好几天...我检查了类似的问题,但找不到解决方案。

我使用 NetBeans IDE。我构建了项目 jar 文件,即“Clock.jar”,其中包含一个名为“clock”的文件夹,其中包含一些图像、一个文本文件和所有项目类。以下用于创建图像图标的代码有效

return new ImageIcon(getClass().getResource("/clock/button_close.png"));

但是下面读取文本文件的代码失败了

InputStream name = getClass().getResourceAsStream("/clock/input.txt");
BufferedReader reader = new BufferedReader(new InputStreamReader(name));

您可能已经猜到会抛出 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 EEST 2013 clock/Clock.class
709 Wed May 15 14:44:36 EEST 2013 clock/ClockDialog$1.class
830 Wed May 15 14:44:36 EEST 2013 clock/ClockDialog$2.class
750 Wed May 15 14:44:36 EEST 2013 clock/ClockDialog$3.class
713 Wed May 15 14:44:36 EEST 2013 clock/ClockDialog$4.class
741 Wed May 15 14:44:36 EEST 2013 clock/ClockDialog$5.class
708 Wed May 15 14:44:36 EEST 2013 clock/ClockDialog$6.class
1081 Wed May 15 14:44:36 EEST 2013 clock/ClockDialog$7.class
981 Wed May 15 14:44:36 EEST 2013 clock/ClockDialog$8.class
9640 Wed May 15 14:44:36 EEST 2013 clock/ClockDialog.class
702 Wed May 15 14:44:36 EEST 2013 clock/ClockFrame$1.class
708 Wed May 15 14:44:36 EEST 2013 clock/ClockFrame$2.class
734 Wed May 15 14:44:36 EEST 2013 clock/ClockFrame$3.class
743 Wed May 15 14:44:36 EEST 2013 clock/ClockFrame$4.class
531 Wed May 15 14:44:36 EEST 2013 clock/ClockFrame$5.class
1046 Wed May 15 14:44:36 EEST 2013 clock/ClockFrame$6.class
9464 Wed May 15 14:44:36 EEST 2013 clock/ClockFrame.class
782 Wed May 15 14:44:36 EEST 2013 clock/ErrorReporter.class
1826 Wed May 15 14:44:36 EEST 2013 clock/IconButton.class
2693 Wed May 15 14:44:36 EEST 2013 clock/MessagePool.class
2824 Wed May 15 14:44:36 EEST 2013 clock/SystemInfo.class
2212 Wed May 15 14:44:36 EEST 2013 clock/button_close.png
6540 Wed May 15 14:44:36 EEST 2013 clock/button_close_highlighted.png
5668 Wed May 15 14:44:36 EEST 2013 clock/input.txt

最佳答案

再仔细看源码,试试..

URL url = getClass().getResource("/clock/input.txt"); 
InputStream name = url.openStream();

我记得 Class::getResourceAsStream变体处理路径与简单地处理路径略有不同 Class::getResource - 我相信它应该适用于后者。

关于java - 从 jar 读取 txt 文件失败,但读取图像有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16563622/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com