App mit FTP zugriff?

  • 7 Antworten
  • Letztes Antwortdatum
H

HornyHagen

Neues Mitglied
0
Hallo,
zu anfang will ich sagen das ich wirklich ziemlich neu im Java Programmieren bin.
Ich habe zwar vorher mit Visual Basic gearbeitet jedoch haben die beiden Sprachen im Syntax nicht sehr viel gemeinsam. Nun wollte ich eine App schreiben die eine Nachricht per Button click an einen Ftp server sendet und diese dort dann in einem Text Dokument gespeichert wird. In Visual Basic sah der ganze Zauber so aus:
Code:
        Dim wcl As New Net.WebClient
        wcl.Credentials = New Net.NetworkCredential("ftpusername, "passwort")
        wcl.UploadString("ftp://Blablabla.de/bla.txt", "<" & Nachricht & ">" & 1)

Auch der Download war schnell erledigt mit einem TIMER:
Code:
        Dim wcl As New Net.WebClient
        wcl.Credentials = New Net.NetworkCredential("ftpusername", "passwort")
        TextBox3.Text = wcl.DownloadString("ftp://Blablabla.de/bla.txt")

Doch wie bekomme ich das ganze in java hin?
MfG
Hagen :thumbsup:

P.s. ich benutze Eclipse mit Android SDK
 
Zuletzt bearbeitet von einem Moderator:
Im jdk ist (glaube ich) kein FTP mit drin. Es gibt aber fertige Implementierungen.

Da würde ich Apache commons.net.jar empfehlen.

Du musst das jar mit im Build-Path von Eclipse angeben und auch als 'Export' anhaken.

Grüsse Uwe
 
Ich würde dir empfehlen das nicht per ftp zu entwickeln. Denn es wird nicht lange dauern bis sich ein kleiner User die Zugangs Daten holt und dann einen GRATIS FTP Server hat ;)

Sent from my GT-I9100 using Android-Hilfe.de App
 
Danke erstmal für die Antworte :)
@z.k-f könntest du mir das bitte ein wenig genauer erklären was es mit der .jar auf sich hat?
 
Es geht hier um Folgendes:

Im Standard Auslieferungs umfang von Java ist keine FTP Unterstützung drin.

Also hat man zwei Möglichkeiten:

  1. Das FTP Protokol selbst auf Socket-Basis zu implemntieren.
  2. Eine bereits fertige Implementierung (fremde Bibliothek) in sein Projekt einbinden.

Das Punkt 1 eher für Fortgeschrittene ist (FTP ist jetzt nicht das aller einfachste Protokol...) empfehle ich den Weg 2.

Um eine fremde Bibliothek in sein Projekt einzubinden ist folgendes zu tun:
  • Die Bibliothek runterladen. Das sind im Idealfall 1-n JAR-Files (Dateien mit der Endung .jar), eventuell sind die in einem ZIP zusammengepackt.
  • Wenn die Jar-Files in einem ZIP gepackt sind, aus dem ZIP auspacken.
  • In Eclipse einen Rechtsklick auf sein Projekt machen.
  • Im Kontext-Menü den Punkt 'Configure Build-Path' wählen (Sorry, ich verwende aus div. Gründen englisches Betriebssystem)
  • Im Dialog den Tab 'Libraries' wählen und den Button 'Add external Jars' klicken.
  • Im Fileselektor-Dialog zu den entpackten JARs navigieren und diese anwählen. OK klicken
  • Im Dialog nun den Tab 'Order and Export' wählen und die eben hinzugefügten JARs zum Exportieren markieren.

Das sollte es eigentlich schon gewesen sin. Damit kannst Du dann die Funktionen der fremden Bibliothek in Deinem Projekt nutzen.

Grüsse Uwe
 
Danke für die ausführliche Beschreibung :D ich habe mir die Seite mal angeschaut und auch das beispiel für einen FTP client. Doch finde ich dort keine zeile/befehl wo irgendwas von "upload" oder "download" gesagt wird? Aus dem Quelltext werde ich einfach nicht schlau. Wie kann ich dass genau bewerktstelligen? :sad:
 
Code:
FTPClient ftp = ...
boolean storeFile = ...
String local = ...
String remote = ...

if (storeFile)
{
    InputStream input;
    input = new FileInputStream(local);
    ftp.storeFile(remote, input);
    input.close();
}
else
{
    OutputStream output;
    output = new FileOutputStream(local);
    ftp.retrieveFile(remote, output);
    output.close();
}

Grüsse Uwe
 
Ich habe diese library jetzt nicht angeschaut, aber du wirst den upload Code in einen thread packen da du ansonsten eine NetworkOnMainThreadException bekommst (auf Android 3.0+)

Sent from my GT-I9100 using Android-Hilfe.de App
 

Ähnliche Themen

G
Antworten
0
Aufrufe
81
Gerdchen07
G
G
Antworten
1
Aufrufe
339
Gerdchen07
G
G
Antworten
13
Aufrufe
541
Gerdchen07
G
L
Antworten
1
Aufrufe
382
swa00
swa00
migi01
Antworten
26
Aufrufe
1.843
migi01
migi01
Zurück
Oben Unten