[英]Adding .txt file as a resource Java
我有一个.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)
任何帮助都会很棒。 谢谢!
我会打开它作为ResourceStream(或者我只是使用ResourceBundle),就像这样 -
InputStream is = getClass().getResourceAsStream("10kaddress.txt");
Scanner s = new Scanner(is);
当您在JAR中嵌入了一个文件时,您需要使用getResourceAsStream()
,因为它已被指出。
另外,我怀疑你的路上有问题。 从错误中我可以看到你在Windows机器上。 你的道路是:
res//10kaddress.txt
转义分隔符时,使用/
(单正斜杠)或\\\\
(双反斜杠)。 反斜杠有另一个反斜杠,因此称为转义。 尝试更改路径,看看它是否适合您。
所以,让你的道路:
res/10kaddress.txt
手动双击以查看文件是否在指定的路径中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.