下载内容到appdata

时间:2014-12-07 15:35:42

标签: java

我有一个下载文件(jar文件)的java程序。 我想将这个下载到用户appdata文件夹中。 我该怎么做? 我试过这个:

private static String myClient = System.getProperty("user.home")+"/AppData/Roaming";

但是这说:

java.io.FileNotFoundException: C:\Users\Ruud\AppData\Roaming (Access denied)
    at java.io.FileOutputStream.open(Native Method)
    at java.io.FileOutputStream.<init>(FileOutputStream.java:221)
    at java.io.FileOutputStream.<init>(FileOutputStream.java:110)
    at Main.main(Main.java:108)

我该如何做到这一点?

2 个答案:

答案 0 :(得分:2)

  1. 由于Windows文件夹'AppData'上的隐藏属性,可能会发生这种情况 尝试清除'AppData'文件夹的隐藏属性。

    检查Modify a hidden file in Java以解决此类隐藏的问题。

  2. 您可以使用Runtime.getRuntime().exec("attrib -H myFile.txt");清除隐藏的属性。

    1. 由于文件夹的权限问题,可能会发生这种情况。尝试为用户分配文件夹写入权限。

答案 1 :(得分:0)

确保AppData目标文件夹存在运行:

new File(System.getProperty("user.home")+"/AppData/").mkdir()