【发布时间】:2013-05-18 06:20:26
【问题描述】:
我正在学习 java,目前正在尝试开发一个简单的应用程序。我的问题是您可以将有关设置等的数据存储在 .jar 内部的文本文件中吗?如果是这样,您将如何在 java 中访问它?对不起,如果这是一个非常愚蠢的想法。
【问题讨论】:
-
是的,但你不能写信(很容易)
-
在here 中查找
getResourceAsStream(String)方法。您可以从 jar 中的任何资源中检索InputStream。 -
另外,一个 jar 包含(或应该包含)一个部署就绪的应用程序,插入任何东西是没有意义的。仅供参考,jar 只是 zip 文件的一个花哨的 java 名称。你可以用任何解压工具打开它,看看里面有什么。
-
@MadProgrammer 为什么我们不能写数据?
-
@Aman 有很多原因 - 它是 ZIP 文件,ZIP 文件实际上无法更新,而是将现有 ZIP 文件的内容复制到临时文件,写入新内容到它,删除旧的 ZIP 文件并将临时 ZIP 文件重命名到它的位置。首先,要知道你正在访问哪个 JAR 文件(或者它在哪里)并不容易,其次,操作系统可能会锁定 JAR(通过类加载器),这可能会阻止它被删除