请询问您是否需要更多信息。我有安全性和所有权限标签 在我的jnlp中,当我离线运行我的Java应用程序时,它可以正常工作。
File T = new File(System.getProperty("user.home") + File.separator + ".myapp/");<br />
if(!T.exists())
T.mkdirs();
File[] temp=new File[2];
temp[0] = new File(System.getProperty("user.home") + File.separator +
".myapp"+File.separator+"temp1.txt");
temp[1] = new File(System.getProperty("user.home") + File.separator +
".myapp"+File.separator+"temp2.txt");
writer=new BufferedWriter(new FileWriter(temp[x]));
writer.write(finalData);
writer.close();
我使用以下方法写入我想在用户系统的目录中创建的文件。在程序中,我也从同一个文件夹中读取,当我将测试数据放在该文件夹中时,它可以正常工作。当我删除temp1.txt和temp2.txt文件时,它不会读取任何数据。没有出现任何错误消息。
重申一下,当在java web start中运行时,弹出窗口,程序运行正常,没有错误消息,但是它没有正确地将文件写入用户系统。同时,当在.txt文件中提供测试数据时,它会正确读取。
编辑:如果可能的话,是否可以在不使用某些javaw.jnlp。*方法的情况下找到解决方案?该程序必须有一个文件夹,其中包含.txt文件,可以从
中读取edit2:我的所有罐子都签名了
答案 0 :(得分:3)
在使用之前,您可以尝试创建该文件吗?
temp[1].createNewFile()
仅当文件不存在时才会创建该文件。您可以使用return boolean flag来查明文件是否已存在。如果安全管理器拒绝创建请求,则此方法还将抛出 IOException 。
编辑:
根据java.io.FileWriter
,文件创建取决于底层平台。由于您可以读取文件(如果存在)并且只在JNLP应用程序中创建新文件时遇到问题。我建议使用createNewFile
创建一个新文件,而不是依赖FileWriter来创建文件。
来自java.io.FileWriter
javadoc:
文件是否可用或是否可以创建取决于 基础平台。
答案 1 :(得分:3)
非常感谢你的帮助!