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 :
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 :
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.
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.