android - 无法在SD卡上写入文件Android模拟器

标签 android android-emulator android-sdcard

我正在尝试在 SD 卡上写入 MIDI 文件。它可以在我的设备上运行,但不能在模拟器中运行。这是 logCat 上的错误:

12-25 09:18:27.733: W/ExternalStorage(1951): Error create /sdcard/download/test.mid
12-25 09:18:27.733: W/ExternalStorage(1951): java.io.FileNotFoundException: /sdcard/download/test.mid
12-25 09:18:27.733: W/ExternalStorage(1951):    at org.apache.harmony.luni.platform.OSFileSystem.open(OSFileSystem.java:244)
12-25 09:18:27.733: W/ExternalStorage(1951):    at java.io.FileOutputStream.<init>(FileOutputStream.java:97)
12-25 09:18:27.733: W/ExternalStorage(1951):    at java.io.FileOutputStream.<init>(FileOutputStream.java:168)
12-25 09:18:27.733: W/ExternalStorage(1951):    at java.io.FileOutputStream.<init>(FileOutputStream.java:147)

我已经在 list 文件中设置了权限,并将路径从“/sdcard/download/test.mid”更改为Environment.getExternalStorageDirectory()+“/download/test.mid”,但仍然不起作用。

仅供引用,我使用 Kevin Boone's MidiFile类,这是我的代码:

String state = Environment.getExternalStorageState();
    if (Environment.MEDIA_MOUNTED.equals(state)) {
        mf.writeToFile(Environment.getExternalStorageDirectory()+"/download/test.mid");
    }

最佳答案

首先确保您拥有适当的权限,如果您不将其添加到 AndroidManifest.xml

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

其次,您还应该检查下载文件夹是否存在,如果不存在,则必须创建它。检查 File 中是否存在该方法类。

如果你看一下 Kevin 的 MidiFile 方法,使用它只在特定路径上创建一个文件,它不能确保你的工作路径存在

mg.writeToFile ("somefile.mid");

关于android - 无法在SD卡上写入文件Android模拟器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8627984/

相关文章:

android - 如何用Fragment Scenario测试Fragment?

Android-studio 模拟器构建失败/Android 资源链接失败

android - BitmapFun 示例应用程序中的图像缓存 - 此检查背后的基本原理是什么

android - 错误 android-emu/android/qt/qt_setup.cpp :28:Qt library not found at . .\emulator\lib64\qt\lib Could not launch 'C:\Users: No such file or directory

java - java中如何保存持久化数据

java - 无法在android中创建带有图像的文件夹

Android Webview通过设置token cookie自动登录https网站

安卓工作室错误 : Configuration with name 'default' not found

c# - MVVMCross MvxBind,将多个值绑定(bind)到一个属性

android - 无法在sdcard android上写入文件