Download und speichern mit jsch klappt nicht

Bitte aktiviere JavaScript!
Ich versuche eine Datei mit jsch zu downloaden und zu speichern, das haut aber nicht hin.
Springende Punkt scheint es zu sein das eine Permission fehlt.
Ich finde aber nicht heraus welche und ob es wirklich so ist.

Code :
Code:
                if (Environment.getExternalStorageState().equals(
                        Environment.MEDIA_MOUNTED)) {
                    Log.d ( TAGOT, "sd present " + Environment.getDataDirectory ().toString () );
                    Toast.makeText (MainActivity.this , "sd present " + Environment.getDataDirectory ().toString (), Toast.LENGTH_LONG).show ( );
                } else {
                    Toast.makeText (MainActivity.this , "sd not present ", Toast.LENGTH_LONG).show ( );
                }

                SFtpToolsClass sftp = new SFtpToolsClass ();

                File folder = new File("/data");
                if (!(folder.exists ()))
                {

                    folder.mkdir ();
                }

                String strLocalPathFileName = folder.toString ()  + "/uploadedFile.zip";
                String strRemotePathFileName = "BLOCKS/101.zip";
                sftp.downloadFile ( strLocalPathFileName, strRemotePathFileName,  null, probar );
                
                
    SFptToolClass ____________________________________
    
    public boolean downloadFile (String strLocalPathFileName, String strRemotePathFileName, String[][] alternativAccess, ProgressBar probar) throws IOException {

        // strLocalPathFileName -> C:/uploadedFile.zip
        // strRemotePathFileName -> BLOCKS/48.zip

        Boolean result = false;

        connectsftp(alternativAccess);

        try {
            channel.get( strRemotePathFileName, strLocalPathFileName, new ProgressMonitorClass(probar)  );
//          System.out.println("File " + strRemotePathFileName + " has been downloaded successfully.");
            result = true;

        } catch( SftpException ex ) {
            System.err.println("File " + strRemotePathFileName + " not downloaded.");
            throw new IOException( ex );

        } finally {
            logout();
        }

        return result;

    }
Meine Permissions im Manifest sind :
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!--before access to hoster you must check state with connectivity Manager-->
<uses-permission android:name="android.permission.INTERNET" /> <!--access hoster-->
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> <!--scheduler-->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!--schreiben auf SD Card-->


und die Exception ist :
Code:
W/System.err: File BLOCKS/101.zip not downloaded.
W/System.err: java.io.IOException: 4:
W/System.err:     at com.job.vt.sys.SFtpToolsClass.downloadFile(SFtpToolsClass.java:351)
        at com.job.vt.MainActivity.checkLoginData(MainActivity.java:274)
        at com.job.vt.MainActivity.access$200(MainActivity.java:43)
        at com.job.vt.MainActivity$1.onClick(MainActivity.java:120)
        at android.view.View.performClick(View.java:6294)
        at android.view.View$PerformClick.run(View.java:24770)
W/System.err:     at android.os.Handler.handleCallback(Handler.java:790)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:164)
        at android.app.ActivityThread.main(ActivityThread.java:6494)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
W/System.err: Caused by: 4:
        at com.jcraft.jsch.ChannelSftp.get(ChannelSftp.java:1003)
        at com.jcraft.jsch.ChannelSftp.get(ChannelSftp.java:892)
        at com.job.vt.sys.SFtpToolsClass.downloadFile(SFtpToolsClass.java:345)
        ... 12 more
    Caused by: java.io.FileNotFoundException: /data/uploadedFile.zip (Permission denied)
W/System.err:     at java.io.FileOutputStream.open0(Native Method)
        at java.io.FileOutputStream.open(FileOutputStream.java:287)
        at java.io.FileOutputStream.<init>(FileOutputStream.java:223)
        at java.io.FileOutputStream.<init>(FileOutputStream.java:110)
        at com.jcraft.jsch.ChannelSftp.get(ChannelSftp.java:979)
        ... 14 more
Ich bin gerade dabei mir die Umgebung für die App aufzubauen und wollte dabei auf Klassen zurückgreifen die ich mit netbeans geschrieben habe.
 
Ja es fehlt eine Permission, wahrscheinlich die das die App Daten auf dem Device speichern darf
aber ich habe doch die Permission
android.permission.WRITE_EXTERNAL_STORAGE
gesetzt.

Oder liege ich da ganz falsch ?
 
Ach so, data scheint auch das falsche Verzeichnis zu sein.
Hab ich nur aus Mangel an Ideen gewählt, nachdem sdcard nicht geklappt hat und ich unter data im virtuellen Device ein Verzeichniss gefunden habe was ich angelegt haben müsste
 
Danke, das hat geholfen.
Kann jetzt speichern und über view/Windows Tool / Device File Explore alles prüfen.
 
Passende Stellenanzeigen aus deiner Region:

Neue Themen

Oben