LibGdx android访问.txt文件并将它们转换为字符串

时间:2014-08-30 22:54:46

标签: java android string libgdx fileinputstream

如果重要的话,这是一个使用gradle的libgdx项目。我有一个实现屏幕的类,我想在显示器上绘制一个字符串。在桌面上,以下代码有效。

try {
        string = readFile("bin/001.txt",Charset.defaultCharset());
        } catch (IOException e) {
            e.printStackTrace();
    }

然后我可以在Label中使用该字符串作为舞台。但是在Android版本上我使用" assets / 001.txt"并得到错误VFY:无法恢复静态方法11542:Ljava / nio / file / Paths; .g

然后我研究了它并在这里找到了一个建议

FileInputStream fis;
        fis = openFileInput("test.txt");
        StringBuffer fileContent = new StringBuffer("");

        byte[] buffer = new byte[1024];

        while ((n = fis.read(buffer)) != -1) 
        { 
          fileContent.append(new String(buffer, 0, n)); 
        }

这不起作用,因为openFileInput是未定义的,因为"那些是在Context类上定义的方法"然而

"如果你正在使用LibGDX,你需要放弃活动和视图的概念,因为你的整个游戏现在只是一个活动。在游戏启动时使用主菜单不会切换活动,而只是呈现要呈现给同一活动的不同对象集。"

现在我失去了

1 个答案:

答案 0 :(得分:2)

要读取LibGdx中的文件,您需要从底层抽象。这是因为相同的应用程序可以在多个系统(桌面,Android,Web,......)中使用。

所以要阅读你需要使用的文件:

FileHandle file = Gdx.files.internal("myfile.txt");
String text = file.readString();

可以在documentation

中汇总文件的路径和位置