Android:Asus Nexus 7 在重启之前不会提交模拟内存

标签 android android-external-storage

我有一个非常具体的问题 - 我正在尝试写入 Asus Nexus 7 上的外部存储,但它正在写入设备上的模拟目录。

这是我使用的代码:

public static void writeExternalMedia(Context context) {
    if(isExternalStorageWritable()) {
        String content = "hello world";

        File filedir = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS) + "/test");
        filedir.mkdir();

        File file;

        FileOutputStream outputStream;

        try {
            file = new File(filedir, "test.txt");

            if (!file.exists()) {
                file.createNewFile();
            }

            outputStream = new FileOutputStream(file);
            outputStream.write(content.getBytes());
            outputStream.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
}

每当我重新启动设备时,目录会在插入时出现在设备下方,这是我希望在执行上述功能时发生的情况。

我已尝试寻找解决方案,但找不到我的问题的答案。

最佳答案

我做了两个方法。一个用于创建文件,一个用于附加到文件。我认为问题在于您没有调用 createNewFile。

private File CreateFile(String fileName)
{
    File file = new File(this.getFilesDir(), fileName);
    try
    {
        if(!file.exists())
        {
            file.createNewFile();
        }
    }
    catch (IOException e)
    {
        e.printStackTrace();
    }
    return file;
}

private void appendToFile(String file, String content)
{
    try
    {
        OutputStreamWriter outputStreamWriter = new OutputStreamWriter(this.openFileOutput(file, this.MODE_APPEND));
        outputStreamWriter.append(content + "\n");
        outputStreamWriter.close();
    }
    catch (IOException e)
    {
        e.printStackTrace();
    }
}

关于Android:Asus Nexus 7 在重启之前不会提交模拟内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37996241/

相关文章:

android - 无法在 Android P 中写入文件

Android通过OTG数据线将文件写入USB

Android Studio Gradle 错误 : failed to resolve com. google.auto.service :auto-service:1. 0-rc2

java - 从类中更改 Activity int

android - 无法保存裁剪后的图像 - Android

android - 如何使用 adb 将文件复制到可从 PC 访问的 android 目录

java - 强制访问外部可移动 microSD 卡

java - Android:如何存储用户位置并稍后在服务器端 Web 应用程序中显示用户走过的路线

java - Edittext,提交时需要显示在android的另一个窗口上

android - Android 中的私钥存储