这个问题听起来对某人来说真的很愚蠢,但这对我来说是个大问题。 我正在创建一个.jar程序,它还有一个内部文本文件作为其内存。该程序基本上从文本文件中复制内容并将其粘贴到GUI上,我也可以更改内容。为了阅读文本文件我使用:
String message = null;
InputStream is = getClass().getResourceAsStream("test2.txt");
StringWriter writer = new StringWriter();
try {
IOUtils.copy(is, writer, "UTF-8");
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
String theString = writer.toString();
并且,为了更改我使用的文本:
URL dir_url = ClassLoader.getSystemResource("test2.txt");
File dir = null;
try {
dir = new File(dir_url.toURI());
} catch (URISyntaxException e2) {
// TODO Auto-generated catch block
e2.printStackTrace();
System.out.print("error");
}
try {
FileWriter fooWriter = new FileWriter(dir, false);
fooWriter.write(direct.getText()+"\n");
fooWriter.close();
} catch (Exception e2) {
// TODO Auto-generated catch block
e2.printStackTrace();
}
而且,如果我在eclipse中运行它确实有效(我也注意到src中的这个文本文件没有改变它的内容,但bin中的文本文件相同。 此外,在我将其编译为.jar文件后,它不起作用。是吗,.jar从bin或src读取文本文件?