Java 有没有一种方法可以写入JAR中的文件?
我目前正在使用java类首选项来维护java应用程序内部的首选项。它很简单,目前只包含2个键/值对。该项目的一些高层已经要求将preferences.xml文件保存在JAR中,以使其干净地运行,因此所有内容都将在JAR中自包含(用户不需要能够访问该文件)Java 有没有一种方法可以写入JAR中的文件?,java,eclipse,jar,preferences,fileoutputstream,Java,Eclipse,Jar,Preferences,Fileoutputstream,我目前正在使用java类首选项来维护java应用程序内部的首选项。它很简单,目前只包含2个键/值对。该项目的一些高层已经要求将preferences.xml文件保存在JAR中,以使其干净地运行,因此所有内容都将在JAR中自包含(用户不需要能够访问该文件) 我知道preferences使用InputStream进行导入,使用OutputStream进行导出。是否仍然可以使用outputStream编辑jar中的文件 我认为不可能使用OutputStream在jar中编辑文件 你能做的是: 您可以导
我知道preferences使用InputStream进行导入,使用OutputStream进行导出。是否仍然可以使用outputStream编辑jar中的文件 我认为不可能使用OutputStream在jar中编辑文件 你能做的是: 您可以导入该文件,对其进行编辑并将其添加回jar文件。
要将文件推入jar,请参阅我认为不可能使用OutputStream编辑jar中的文件 你能做的是: 您可以导入该文件,对其进行编辑并将其添加回jar文件。
要将文件推送到jar中,请参考jar文件是一个zip文件夹,因此可以使用包对其进行提取和处理 但是,运行的jar可能是写保护的,从而防止内容修改 它更适合将配置存储在操作系统中的相应位置。在windows上,公用位置是windows注册表 有一个Java库用于编辑注册表,如中所示 图书馆资料来源: 要在其他操作系统上存储配置,可以使用以应用程序命名的文件夹中的文件
- Linux上的公用位置:“~/.config”文件夹
- Mac上的公用位置:“~/Library/Application Support”文件夹
- Linux上的公用位置:“~/.config”文件夹
- Mac上的公用位置:“~/Library/Application Support”文件夹
~/.config
,或者OS X中的~/Library/Application Support
。感谢@VGR更新了答案以反映。实际上,存储此类信息的更好位置是%AppData%下的文件。或者Linux中的~/.config
,或者OS X中的~/Library/Application Support
。谢谢@VGR更新了答案以反映。