将流保存到文件夹 - 失败readDirectory()errno = 20

时间:2016-06-23 11:58:25

标签: java android fileoutputstream bufferedinputstream

我正在尝试将流保存到storage / emulated / 0的子文件夹中,但收到错误fail readDirectory() errno=20

我使用以下代码:

BufferedInputStream bis = new BufferedInputStream(
                        instream, buffersize);
                BufferedOutputStream out = new BufferedOutputStream(
                        new FileOutputStream(fileName + ".download"),
                        buffersize);
                byte[] buff = new byte[buffersize];
                int len;
                int downloadedlen = 0;
                String firstfewchars = null;
                while ((len = bis.read(buff)) > 0) {
                    Log.i(TAG, "Writing Data from Stream Line 814");
                    out.write(buff, 0, len);

任何人都可以提出错误的建议吗?

感谢。

1 个答案:

答案 0 :(得分:1)

您确定自己拥有权限吗?文件夹是公开的吗?以这种方式尝试获取目录(用于测试):

Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS)

另外,不要忘记清单中的权限:

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
相关问题