0

我有个问题,

对于我的项目的性质,我需要读取一个 txt 文件,打包在一个 JAR 中,这是我的情况:

我在 Eclipse 中有一个项目,我在其中创建了一个 txt 文件: project->new->new txt file in this file 我将存储我的登录设置。

我想创建一个可执行的 JAR,当我执行这个 JAR 时,我希望使用存储在 txt 文件中的数据。

这个 Jar 应该尽可能独立,因为我需要在许多不同的地方和情况下执行它,而且我只能有一个文件(jar),这个 txt 应该放在 jar 中。

我怎样才能做到这一点?

我希望以前不要回答同样的问题(我一直在寻找,但没有找到任何回应)如果是重复的问题,我提前道歉。

4

4 回答 4

0

非常感谢您的所有回答,我已经用 nex instructino 解决了这个问题:

in = new BufferedReader(new InputStreamReader(AppTask.class.getClassLoader().getResourceAsStream(AppData.SettingsFile)));

它工作正常。再次感谢,再见

于 2013-02-08T09:53:17.797 回答
0

您不能写入存储在 JAR 文件中的文件。

您可以将 JAR 文件和文本文件一起存储在某处,并使用批处理文件 (.bat) 以文件名作为参数来执行 JAR。

这样,您将只有一个文件可以执行。

那能完成这项工作吗?

于 2013-02-07T17:54:52.283 回答
0

您应该从核心 Java 中查看“Class.getResourceAsStream(String name)”。您可以使用它从应用程序中打开一个文本文件(或任何其他类型的文件),打包在一个 jar 或其他文件中。

请注意,如果您在文件中存储敏感信息,任何拥有该 jar 的人都可以查看它;如果您不想查看信息,则需要对信息进行加密。

于 2013-02-07T17:55:16.487 回答
0

您可以通过以下方式获取 .jar 的位置

getClass().getProtectionDomain().getCodeSource().getLocation()

然后从那里创建一个具有此位置的 JarFile,获取 txt JarEntry 并通过 FileOutputStream 将其写出。然后您可以读取文件的内容。

于 2013-02-07T17:56:42.823 回答