我已经构建了我的GUI程序并获得了一个可运行的jar文件,但是我想包含一个txt文件,用户可以将其编辑为到jar文件或伴随它。此文本文件可以包含操作系统之间不同的编辑器的路径。有没有办法做到这一点?Runnable Jar File with extra .txt
谢谢
我已经构建了我的GUI程序并获得了一个可运行的jar文件,但是我想包含一个txt文件,用户可以将其编辑为到jar文件或伴随它。此文本文件可以包含操作系统之间不同的编辑器的路径。有没有办法做到这一点?Runnable Jar File with extra .txt
谢谢
你不能编辑一个文件并保存在罐子里面。你可以做的是用默认数据将你的文件包含在jar文件中,编辑它并将其保存到jar外的文件中。
实际上它是可能的,如果你打开罐子本身的代码,并重新包装当您更改文本,但它像拆解车门,车轮,座椅和发动机刚装上去的手套箱
实际上,重新打包可能会失败,因为在某些情况下,jar可能会从JVM引用并且无法保存。 –
nope ...当jar运行时,它将其内容提取到系统临时文件夹:) – Dima
最简单的是将文件放在与罐子一起,然后:
File file = new File("file.txt");
以另一种方式,如果要启动关联编辑器应用程序(默认情况下该文件类型OS),并打开一个文件编辑,你可以试试下:
File file = new File("file.txt");
if (Desktop.isDesktopSupported()) {
Desktop.getDesktop().edit(file);
}
您是否希望将其作为编辑的默认值,或者应该保存更改?如果前者,您可以使用'ClassLoader#getResource()'或'ClassLoader#getResourceAsStream()'从jar文件中加载。否则,我会建议创建一个包含您想要支持的每个操作系统位置的映射。 –
如果答案有帮助,可以[接受](http://meta.stackoverflow.com/a/5235/227183)。 –