0

我从一个 Java 项目创建了一个 jar 文件。我现在什至可以运行它,但是当我从JAR 文件之外的普通二进制代码运行程序时,它不会保存正确存储的序列化文件。

当你有一个jar文件时你不能创建新文件吗?

这就是我编写文件的方式:

FileOutputStream fileOut = new FileOutputStream("data/vocabulary.ser");
ObjectOutputStream out = new ObjectOutputStream(fileOut);
out.writeObject(this);
out.close();
fileOut.close();

我的 JAR 文件如下所示:

META-INF
    MANIFEST.MF
name
    stefankoch
        …

其中 name/stefankoch/... 是我的项目命名空间。

我尝试在 jar 文件(根目录)中创建一个data目录,但它也不起作用。datajar 文件所在的目录中还有一个目录,但也没有使用该目录。

如何允许 jar 文件创建文件?

4

1 回答 1

0

基本上,您不应该将用户输入的信息添加到 JAR 文件中,它们属于用户的主目录

这可以阅读

System.getProperty("user.home")

用户主目录中的文件也可以在 JAR 文件中使用。

于 2012-07-11T16:36:36.610 回答