我正在制作游戏,该游戏需要在用户帐户的AppData文件夹中创建某个目录。现在的问题是,我不知道在哪里放,因为每个用户都不同。顺便说一句,这是在Windows上。我想知道我是否应该写一些特别的东西或......
File file = new File("C:\\Users\\%USER%\\AppData\\Roaming\\[gameName]");
是否有一些特殊的名称,我必须给出“%USER%”(我只是用它作为例子),还是我还有别的东西?
答案 0 :(得分:3)
您可以使用APPDATA环境变量,通常是“C:\ Users \ username \ AppData \ Roaming”
你可以使用System.getenv()函数获取它:
String appData = System.getenv().get("APPDATA");
编辑:
查看此示例(创建目录“myGame”并在此目录中创建文件“myGameFile”)。 代码很糟糕,但它只是让你知道它是如何工作的。
String gameFolderPath, gameFilePath;
gameFolderPath = System.getenv().get("APPDATA") + "\\myGame";
gameFilePath = gameFolderPath + "\\myGameFile";
File gameFolder = new File(gameFolderPath);
if (!gameFolder.exists()) {
// Folder doesn't exist. Create it
if (gameFolder.mkdir()) {
// Folder created
File gameFile = new File(gameFilePath);
if (!gameFile.exists()) {
// File doesn't exists, create it
try {
if (gameFile.createNewFile()) {
// mGameFile created in %APPDATA%\myGame !
}
else {
// Error
}
} catch (IOException ex) {
// Handle exceptions here
}
}
else {
// File exists
}
}
else {
// Error
}
}
else {
// Folder exists
}
答案 1 :(得分:1)
您可以使用Windows user.home
属性
String homeFolder = System.getProperty("user.home")
答案 2 :(得分:0)
使用Windows环境变量%APPDATA%。 它指向您想要的路径,但我不确定所有Windows版本都有该变量。