Download und speichern mit jsch klappt nicht

Joob

Top Contributor
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.
 

Joob

Top Contributor
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 ?
 

Joob

Top Contributor
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
 

Joob

Top Contributor
Danke, das hat geholfen.
Kann jetzt speichern und über view/Windows Tool / Device File Explore alles prüfen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Download Web-Content, AsyncTask Android & Cross-Platform Mobile Apps 5
lolcore Android Studio -Download Documentation for Android SDK Android & Cross-Platform Mobile Apps 0
J BLOB nach dem Download unbrauchbar Android & Cross-Platform Mobile Apps 0
T AsyncTask / Download sehr langsam Android & Cross-Platform Mobile Apps 2
T JCifs Download unter Android beschleunigen Android & Cross-Platform Mobile Apps 0
N Java ME Download von Werten im SourceCode aufrufen Android & Cross-Platform Mobile Apps 5
K Nokia SDK & Carbide.j download Android & Cross-Platform Mobile Apps 1
W Foto machen und es direkt per URI speichern und auswählen Android & Cross-Platform Mobile Apps 4
M Firebase RealtimeDatabase - Daten aus Queries in CSV File speichern Android & Cross-Platform Mobile Apps 1
I Android CameraApp, eingebaute App nutzen und Ergebniss als Datei speichern Android & Cross-Platform Mobile Apps 0
R Android Daten speichern und anzeigen Android & Cross-Platform Mobile Apps 7
T Screenshot speichern ohne alte Datei überschreiben Android & Cross-Platform Mobile Apps 3
P Daten bzw Objekte auf das Handy lokal speichern Android & Cross-Platform Mobile Apps 29
P Objekt mit Shared preferences speichern Android & Cross-Platform Mobile Apps 0
L Android SQLite Datenbank auf SDCard speichern Android & Cross-Platform Mobile Apps 5
M Android App → Problem mit dem Speichern von einem Bitmap–Objekt. Android & Cross-Platform Mobile Apps 1
V Kennt jemand ein Programm , um .DEX Dateien zu öffnen, bearbeiten und wieder speichern? Android & Cross-Platform Mobile Apps 2
B Dateien Speichern Android & Cross-Platform Mobile Apps 6
G Android Daten in einer Datenbank speichern Android & Cross-Platform Mobile Apps 1
V Bytes (Wertebereich 0-255) über BLE empfangen,lesen und speichern Android & Cross-Platform Mobile Apps 1
JavaWolf165 Android Fehler beim Speichern/Downloaden einer Datei Android & Cross-Platform Mobile Apps 2
Anfänger2011 Speichern von bereits gefüllten Dateien Android & Cross-Platform Mobile Apps 8
M Android Speichern einer .txt Datei im InternalStorage Android & Cross-Platform Mobile Apps 2
B Fragen zum Speichern einer Datei auf dem Gerät? Android & Cross-Platform Mobile Apps 7
G Speichern jede zehnte sekunde Android & Cross-Platform Mobile Apps 1
G Sensordaten speichern Android & Cross-Platform Mobile Apps 3
S Dynamische EditText View eingaben in Datenbank speichern Android & Cross-Platform Mobile Apps 0
L Android Apache POI: Datei speichern geht nicht Android & Cross-Platform Mobile Apps 1
A Android Daten in der Cloud speichern (Google) Android & Cross-Platform Mobile Apps 1
Streeber Android ExpandableListView Child-Auswahl speichern Android & Cross-Platform Mobile Apps 3
S Android Geschossenes Foto in anderem Ordner speichern Android & Cross-Platform Mobile Apps 11
G Wissen frage - wo am besten Speichern. Android & Cross-Platform Mobile Apps 1
S Android Speichern von Informationen in Code oder extern Android & Cross-Platform Mobile Apps 0
E Android Zeichnen auf Canvas - Teilbereich als Bild speichern Android & Cross-Platform Mobile Apps 3
L Android Text aus Textfeld speichern Android & Cross-Platform Mobile Apps 5
R Android Objekt in bestimmten Pfad auf Android-gerät speichern Android & Cross-Platform Mobile Apps 8
G Datei im Ordner speichern Android & Cross-Platform Mobile Apps 2
P Android Fragen reihenfolge speichern / laden Android & Cross-Platform Mobile Apps 2
T Bild speichern Servlet Android & Cross-Platform Mobile Apps 2
B Inhalt von StringBuffer in Textdatei speichern? Android & Cross-Platform Mobile Apps 6
U Android Daten dauerhaft speichern? Android & Cross-Platform Mobile Apps 2
P Java ME benutzer daten speichern Android & Cross-Platform Mobile Apps 5
O eingehende Daten speichern Android & Cross-Platform Mobile Apps 2
missy72 Kotlin SSH Verbindung mit JSch Android & Cross-Platform Mobile Apps 5

Ähnliche Java Themen

Neue Themen


Oben