1

我想检查我的/assets/game/目录中是否有一个文件level.xml,如果它不存在我想创建它。我使用这段代码:

private static void LoadXML() {
      ProgressFileHandle = Gdx.files.local("game/level.xml");
      if (!ProgressFileHandle.exists()) {
         try {
            ProgressFileHandle.file().createNewFile();
         } catch (IOException e) {
            e.printStackTrace();
         }
      } else ProgressFileHandle.file().readString();
}

此代码不起作用,我收到错误:

java.io.IOException:没有这样的文件或目录

如果我 Gdx.files.local("assets/game/level.xml"); 改为 Gdx.files.local("level.xml");但我不明白为什么。如何在子目录 ( assets/game) 中创建此文件?

4

1 回答 1

4

我不清楚您是否希望从assets游戏随附的标准文件夹中读取。在这种情况下,您应该使用Gdx.files.internal()从那里读取,尽管该assets文件夹在 Android 上始终是只读的。

如果要assets/在 Libgdx“本地存储”(相当于 Android内部存储)中创建另一个目录,则需要先创建目录,然后才能在新目录中创建文件。只需调用.mkdirs() 文件句柄以确保创建了所有必需的父目录。

ProgressFileHandle.file().mkdirs();
ProgressFileHandle.file().createNewFile();
于 2013-03-21T16:11:20.063 回答