【问题标题】:How do I create directories and files within the user's AppData directory?如何在用户的 AppData 目录中创建目录和文件?
【发布时间】:2013-09-25 05:10:39
【问题描述】:

所以,我正在创建一个游戏,需要创建目录来存储所有用户的数据和保存等等。如您所见,我需要在用户的 Application Data 文件夹中创建一个名为“[WarDungeon]”的文件夹,并在其中存储其他文件夹以存储此类数据,例如关卡、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!");
    }
}

我该如何解决这个问题?

提前致谢,:)

【问题讨论】:

    标签: java windows appdata


    【解决方案1】:

    我意识到这个问题已经有两年了,但由于这是在谷歌搜索“java store in appdata”时的第一个结果,我决定为未来的谷歌人添加一个正确的答案。

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

    直接引用自this answer

    System.getenv("APPDATA")
    

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

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

    【讨论】:

      【解决方案2】:
      Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
      

      【讨论】:

      • 这适用于 Java 吗?另一张海报说它是特定于 .NET 的。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-24
      • 2012-06-20
      • 1970-01-01
      • 2021-04-21
      • 1970-01-01
      相关资源
      最近更新 更多