如果重要的话,这是一个使用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,你需要放弃活动和视图的概念,因为你的整个游戏现在只是一个活动。在游戏启动时使用主菜单不会切换活动,而只是呈现要呈现给同一活动的不同对象集。"
现在我失去了
答案 0 :(得分:2)
要读取LibGdx中的文件,您需要从底层抽象。这是因为相同的应用程序可以在多个系统(桌面,Android,Web,......)中使用。
所以要阅读你需要使用的文件:
FileHandle file = Gdx.files.internal("myfile.txt");
String text = file.readString();
中汇总文件的路径和位置