【发布时间】:2013-12-17 01:01:53
【问题描述】:
我有一个 .txt 文件和一个名为 res 的文件中的图像。我也将文件添加到我的路径中。我做了下面的代码,它在我的 Eclipse IDE 中工作得很好。导出 jar 并运行它时,它什么也不做。用 cmd 运行 jar 说找不到类路径。所以我尝试了第二段代码但没有成功。我在那里的图像工作正常。 bgi = new ImageIcon(getClass().getResource("bg.png"));
Scanner s = null;
try {
s = new Scanner(new File("res//10kaddress.txt"));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
ArrayList<String> paddress = new ArrayList<String>();
while (s.hasNext()){
paddress.add(s.next());
}
s.close();
所以我尝试在下面这样做,无论我做什么都不会读取 txt 文件
URL url = GUI.class.getResource("10kaddress.txt");
File ff = new File(url.getPath());
Scanner s = null;
try {
s = new Scanner(ff);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
ArrayList<String> paddress = new ArrayList<String>();
while (s.hasNext()){
paddress.add(s.next());
}
s.close();
得到这个错误
java.io.FileNotFoundException: C:\Users\Major%20Lee\Sketch\GUI\res\10kaddress.txt (The system cannot find the path specified)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(Unknown Source)
at java.util.Scanner.<init>(Unknown Source)
at GUI.main(GUI.java:68)
Exception in thread "main" java.lang.NullPointerException
at GUI.main(GUI.java:73)
任何帮助都会很棒。谢谢!
【问题讨论】:
-
很明显的问题,是路径中的文件:C:\Users\Major%20Lee\Sketch\GUI\res\10kaddress.txt?
-
获取资源作为流并使用它构造扫描器。 docs.oracle.com/javase/7/docs/api/java/lang/…
标签: java file url embedded-resource getresource