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

Saving Stream to Folder - fail readDirectory() errno=20

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

我正在使用以下代码:

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

谁能指出哪里出了问题?

谢谢。

你确定你有权限,文件夹是public?

为了测试,您可以尝试通过这种方式获取目录:

Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS)

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

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