Java Web Start应用可以读取本地系统中的文件,但不能写入[关闭](Java Web St

2019-09-18 14:06发布

请询问您是否需要更多的信息。 我有安全和我的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:我所有的瓶子都签了

Answer 1:

你可以尝试创建文件,使用前?

temp[1].createNewFile()

这将创建只有当它不存在的文件。 您可以使用回布尔标志,以找出是否该文件已经存在。 如果安全管理器拒绝创建请求这种方法也将抛出IOException。

编辑:

java.io.FileWriter ,文件创建取决于基础平台。 既然你都能够读取该文件,如果它存在,只具有在JNLP应用程序创建一个新的文件的问题。 我建议创建使用新文件createNewFile而不是依靠的FileWriter创建文件。

java.io.FileWriter的javadoc:

无论文件可用或者可以被创建取决于基础平台。



Answer 2:

对不起球员,我是个白痴。 我的JNLP文件指出,不同的版本我的java程序在本地系统中,基本上我是个白痴。 当我回家,我从我家的电脑测试的网站,发现我的错误。

非常感谢您的帮助,但!



文章来源: Java Web Start Application can read files from local systems, but not write [closed]