如何在用户的AppData目录中创建目录和文件?

时间:2013-09-19 22:47:34

标签: java windows appdata

所以,我正在创建一个游戏,需要创建目录来存储所有用户的数据并保存和诸如此类的东西。正如您所看到的,我需要在名为“[WarDungeon]”的用户的Application Data文件夹中创建一个文件夹,在那里,我将存储其他文件夹,例如level,bin,sprite等。

我对使用Mac OS和Linux不太感兴趣,因为我想让%appdata%文件夹与Windows一起使用。

这是我的代码:

public FileManage() {
    gamePath  = System.getenv("APPDATA") + "[WarDungeon]";
    gameLevelPath  = System.getProperty("user.home") + "\\Local Settings\\ApplicationData\\[WarDungeon]\\level";
    gameBinPath  = System.getProperty("user.home") + "\\Local Settings\\ApplicationData\\[WarDungeon]\\bin";

    File createDir1 = new File(gamePath);
    createDir1.mkdir();

    System.out.println("First test passed.");

    if (createDir1.exists() == true) {
        System.out.println("First directory created!");
    }
}

我该如何解决这个问题?

提前致谢:)

2 个答案:

答案 0 :(得分:6)

我意识到这个问题已经有两年了,但由于这是谷歌搜索“appdata中的java商店”时的第一个结果,我决定为未来的google提供正确答案。

问题用Java标记,OP发布了Java代码,但接受的答案是.NET(不是Java)。

直接来自this answer

System.getenv("APPDATA")

这将为用户的AppData文件夹(在Windows中)提供位置。通过执行以下操作,您可以获得类似于OP所需的结果:

File characterFolder = new File(System.getenv("APPDATA") + "\\" + characterName);

答案 1 :(得分:-2)

Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)