FTP Down-/Upload

mysterix

Mitglied
Hiho,

heute würde ich gern eine Verbindung zu meinem FTP-Server herstellen. Dafür gibt es scheinbar nur eine einzig wahre Möglichkeit. Nämlich die von Apache Commons Net. Ich habe nun schon den Code von 6 verschiedenen Seiten ausprobiert. Mein Problem liegt an folgender Stelle:

Java:
FTPClient client = new FTPClient();

Sobald er an diesen Punkt kommt, stoppt mein Programm und markiert diese Zeile. Ich habe auch schon eine Library von einer anderen Seite probiert. Funktioniert leider auch nich. Mein Code sieht folgendermaßen aus:

Java:
private void FTP()
{
	
	 FTPClient client = new FTPClient();
     FileOutputStream fos = null;

     try {
         client.connect("ftp://www1.subdomain.com");
         client.login("--user--"--passwort--");

         //
         // The remote filename to be downloaded.
         //
         String filename = "test.txt";
         fos = new FileOutputStream(filename);

         //
         // Download file from FTP server
         //
         client.retrieveFile("/www/" + filename, fos);
     } catch (IOException e) {
         e.printStackTrace();
     } finally {
         try {
             if (fos != null) {
                 fos.close();
             }
             client.disconnect();
         } catch (IOException e) {
             e.printStackTrace();
         }
     }

	
	
}
Hat jemand ne Idee woran das liegen könnte? Hab als Berechtigung das Internet hinzugefügt.
 
Hi,

ich nehme mal an dass du eine App für Android entwickelst (
Hab als Berechtigung das Internet hinzugefügt.
).

Wenn der Fehler tatsächlich schon in Zeile 4 auftritt, wird es wohl eine ClassNotFoundException sein.
Wenn du mit eclipse arbeitest, hast du die JAR-Datei (von Apache) über "Build Path -> Add external Archives" UND manuell in den "lib" unterordner deines Projekt-Verzeichnisses kopiert???

Wenn das nicht hilft, poste vielleicht die Fehlermeldung...

Gruß javaDev2011
 
Hiho, ich hab mal in einer "normalen" Anwendung, sprich nicht für Android folgendes getestet:

Java:
private  void downloaden()
{
	 String ftpUrl = "ftp://%s:%s@%s/%s;type=i";
     String host = "www1.subdomain.com";
     String user = "user";
     String pass = "pw";
     String filePath = "/www/test.txt";
     String savePath = "/storage/emulated/0/test123321.txt";

     ftpUrl = String.format(ftpUrl, user, pass, host, filePath);
     System.out.println("URL: " + ftpUrl);

     try {
         URL url = new URL(ftpUrl);
         URLConnection conn = url.openConnection();
         InputStream inputStream = conn.getInputStream();

         FileOutputStream outputStream = new FileOutputStream(savePath);

         byte[] buffer = new byte[BUFFER_SIZE];
         int bytesRead = -1;
         while ((bytesRead = inputStream.read(buffer)) != -1) {
             outputStream.write(buffer, 0, bytesRead);
         }

         outputStream.close();
         inputStream.close();

         System.out.println("File downloaded");
     } catch (IOException ex) {
         ex.printStackTrace();
     }
 }

Das funktioniert super. Wenn ich das aber genau so in mein Android-Projekt kopiere, geht nichts mehr. Kann sich das einer erklären? Danke 🙂
 

Zurück
Oben