2016-06-23 16 views
-1

Ich versuche, einen Strom in einen Unterordner von Speicherplatz zu sparen/emulierten/0, aber ich erhalte die Fehler fail readDirectory() errno=20Saving Stream-to-Folder - fail readDirectory() errno 20 =

ich den Code unten bin mit:

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); 

Kann jemand vorschlagen, was falsch ist?

Danke.

+1

Bitte lesen Sie [diese (wie zu fragen)] (http://stackoverflow.com/help/how-to-ask) und [dies (mcve)] (http://stackoverflow.com/help/mcve) vor der Frage, als diese helfen Sie erhalten mehr und bessere Antworten von der Community. Post your logcat – Bonatti

+1

Überprüfen Sie den aktuellen Ordner, in den Sie schreiben möchten. Sicher ist es kein beschreibbares. Android ist ziemlich genau darüber, wo Daten zu schreiben sind. – Fildor

Antwort

0

Sind Sie sicher, dass Sie über Berechtigungen verfügen und der Ordner öffentlich ist? Versuchen Sie erhalten Verzeichnis auf diese Weise (zum Testen):

Environment.getExternalStoragePublicDirectory (Environment.DIRECTORY_DOWNLOADS)

Auch vergessen Sie nicht Berechtigungen in manifest:

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