我有一个严重的问题,我需要将数据导出到文件,代码没问题,我没有任何错误或异常,这里是代码。
public static void writeString(String path, String line, boolean append){
FileHandle file = Gdx.files.local(path);
file.writeString(line, append);
}
文件“prueba.txt”为空。 我在这里使用代码:
Utilities.writeString("prueba.txt", "Hello world!", false);
System.out.println("OUTPUT: "+Utilities.getLine("prueba.txt"));
这就是输出:
I/System.out: OUTPUT:
在 PC 上一切正常,只有在 Android 上我有“错误”
PD:抱歉我的英语,非常糟糕:/
最佳答案
您无法在 LibGdx 的内部文件存储上写入,它只能读取。
FileHandle fileHandle= Gdx.files.internal(String path);
您可以使用 LibGdx 的本地文件存储来实现同样的目的。该存储名为Internal storage在安卓上。您可以读取和写入此存储,但它是您的应用程序的私有(private)存储,因此只有您的应用程序可以访问它。
FileHandle file = Gdx.files.local(String path);
以下代码足以在存储在本地文件存储中的 prueba.txt
上写入 HELLO WORLD
。
FileHandle file = Gdx.files.local("prueba.txt");
file.writeString("HELLO WORLD", false); //write to file
System.out.println(charString=file.readString()); //read file
编辑
如果您想在外部存储上写入,请使用:
FileHandle file = Gdx.files.external(String path);
确保您拥有 AndroidManifest.xml
文件的这两个权限
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
如果您的 Android 目标 SDK 大于或等于 API 23,此权限是不够的,您需要在继续与 EXTERNAL_STORAGE 相关的任何工作之前获得用户的运行时权限。对于当前的 targetSdkVersion,请检查您的 android build.gradle
文件的 defaultConfig,如果没有则检查 AndroidManifest.xml
文件。
关于java - Android Libgdx,如何写入内部文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44068561/