java - Android Libgdx,如何写入内部文件?

标签 java android libgdx

我有一个严重的问题,我需要将数据导出到文件,代码没问题,我没有任何错误或异常,这里是代码。

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/

相关文章:

java - 我正在获取 b.setOnClickListener(new OnClickListener() 错误

java - Vimeo 高级 API : Searching for public videos in JAVA with SCRIBE

Java - 反转输出的显示方式

java - 表布局无法编译(语法错误)

java - U 和 V 在 getU() 中的含义

java - Youtube api显示来自用户播放列表android的有限视频

android - 自定义状态可绘制对象在图书馆项目中不起作用

java - RxJava : How do I make a fetch-once-and-reuse Observable?

android - android中进度条的ListView

java - Admob Libgdx Gameview 拉伸(stretch)