相关疑难解决方法(0)

Android文件canRead()在SD卡上始终为false

我正在尝试从SD卡读取文件,但发现我没有读取权限.我首先获取公共存储目录并列出如下文件:

    File dir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
    File[] files = dir.listFiles();
Run Code Online (Sandbox Code Playgroud)

然后我选择其中一个文件并测试它是否可读:

    Log.d(TAG, files[0].canRead());
Run Code Online (Sandbox Code Playgroud)

这总是显示错误,我不知道为什么.我能够写到目录(事实上它是我写的文件,我想读),我尝试过的变种

    files[0].setReadable(true);
Run Code Online (Sandbox Code Playgroud)

    dir.setReadable(true);
Run Code Online (Sandbox Code Playgroud)

没有运气.我也有

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Run Code Online (Sandbox Code Playgroud)

包含在我的清单文件中并确保我的设备没有连接到任何东西(如此处所示),但那不是它.

我可以从设备中提取文件并在文本编辑器中读取它.关于这可能是什么的任何想法?

统计:在三星Galaxy平板电脑上使用API​​ 12.

file-io android android-sdcard

5
推荐指数
0
解决办法
1673
查看次数

如何读取/写入已安装的SD卡的数据

当卡通过USB安装为光盘时,有没有办法将数据写入SD卡?

我获得了许可拒绝例外.如果我拔掉它一切都很好.

我知道我应该使用Environment.getExternalStorageDirectory,但我不认为这会有任何区别.

码:

        File file = new File("/sdcard/Test/test.txt");

        BufferedOutputStream buf = new BufferedOutputStream(
                 new FileOutputStream(file,true));

         buf.write(str.getBytes());
Run Code Online (Sandbox Code Playgroud)

谢谢,

尼古拉斯

android

1
推荐指数
1
解决办法
1281
查看次数

标签 统计

android ×2

android-sdcard ×1

file-io ×1