我从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文件(root)中创建一个data
目录,但它也不起作用。 jar文件所在的目录中还有一个data
目录,但也没有这个目录。
如何允许jar文件创建文件?
答案 0 :(得分:0)
基本上,你不应该将用户输入的信息添加到JAR文件中,它们属于用户的主目录。
可以使用
阅读System.getProperty("user.home")
用户主目录中的文件也可以在JAR文件中使用。