android - FileOutputStream 在尝试 FileOutputStream( externalStorage.getAbsolutePath() ) 时导致异常;

标签 android sd-card

我正在尝试编写一个简单的测试方法来将文件从 Asset 文件夹复制到 sd 卡。当我尝试打开 SD 卡上的文件时,它崩溃了。

代码

        try {
              // POpne file from asset
               AssetManager assetManager = getAssets();
               InputStream inputStream;
               inputStream = assetManager.open("test");

               // open output folder
               File externalStorage = Environment.getExternalStorageDirectory();

                       // CRASHES HERE
               out = new FileOutputStream(  externalStorage.getAbsolutePath()  );
               int c;

            while ((c =  inputStream.read()) != -1) {
                out.write(c);
            }
        } catch( Exception e) {

        }
    }

最佳答案

看来你忘了在 AndroidManifest.xml 中提到文件访问权限,只需在你的 AndroidManifest.xml 中写下以下权限

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

关于android - FileOutputStream 在尝试 FileOutputStream( externalStorage.getAbsolutePath() ) 时导致异常;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12450999/

相关文章:

Android:检测应用程序何时被杀死

android - Onsen UI 工具栏标题和图标在物理设备中未垂直对齐

android - 无法在模拟器上向 Android SD 卡添加数据

安卓 2.3 : Grow/Shrink animation bug?

android - 下拉抽屉布局 Android

android - 通过代码在Android中创建子菜单

android - 如何从 Android 的 Gallery 应用程序中隐藏一些图像(由我的应用程序保存在 sdcard 上)?

android - 如何从Android上的SD卡读取选定的文本文件

java - 在普通类中获取 startActivityForResult() 的结果

java - 使图像和文件夹对保存在 SD 卡上的图库不可见?