在Application Support或%appdata%中创建目录

时间:2012-01-09 00:41:02

标签: java directory

我已经熟悉创建文件并将它们放在“user.home”中。我在Mac上,所以对PC的文件夹知之甚少,但在我的库中,有应用程序支持。有没有办法在那里放置一个目录,还有PC的%appdata%?

2 个答案:

答案 0 :(得分:4)

Windows上的AppData文件夹是“{user.home} \ Local Settings \ ApplicationData”;

你可以使用它来获取它:

    String dataFolder = System.getProperty("user.home") + "\\Local Settings\\ApplicationData";

或者这样,但它只适用于Windows,因为env变量'APPDATA'仅在Windows下可用。

    String dataFolder = System.getenv("APPDATA");  

有关详细信息,请查看How to get local application data folder in Java?

答案 1 :(得分:2)

以下是我使用的代码,您可以根据需要使用它:

public FileManager(){

String FileFolder = System.getenv("APPDATA") + "\\" + "Launcher";

System.out.println("Searching for system");

String os = System.getProperty("os.name").toUpperCase();
if (os.contains("WIN")) {
    FileFolder = System.getenv("APPDATA") + "\\" + "Launcher";
    System.out.println("Found windows");
}
if (os.contains("MAC")) {
    FileFolder = System.getProperty("user.home") + "/Library/Application " + "Support"
            + "Launcher";
    System.out.println("Found mac");
}
if (os.contains("NUX")) {
    FileFolder = System.getProperty("user.dir") + ".Launcher";
    System.out.println("Found linux");
}

System.out.println("Searching for resource folder");
File directory = new File(FileFolder);

if (directory.exists()) {
    System.out.println("Found folder");
}

if (directory.exists() == false) {
    directory.mkdir();
    System.out.println("Could not find folder so created it");
}

}

只有在Windows上测试才能有人在mac / Linux上测试它吗?