2016-06-23 3 views
-1

Я пытаюсь сохранить поток в подпапку хранения/эмулировать/0, но я получаю ошибку fail readDirectory() errno=20Сохранение потока в папку - не в состоянии 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

Пожалуйста, прочтите [это (как спросить)] (http://stackoverflow.com/help/how-to-ask) и [this (mcve)] (http://stackoverflow.com/help/mcve) перед запросом, , поскольку это поможет вы получаете больше и больше ответов от сообщества. Отправьте свой логарифм – Bonatti

+1

Проверьте папку, в которую вы пытаетесь записать. Конечно, он не доступен для записи. Android довольно специфичен в отношении того, где писать данные. – Fildor

ответ

0

У вас есть права доступа? Попробуйте получить каталог таким образом (для тестирования):

Environment.getExternalStoragePublicDirectory (Environment.DIRECTORY_DOWNLOADS)

Кроме того, не забывайте разрешения в манифесте:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> 
Смежные вопросы