Portal > Foren > Java > Allgemeine Java-Programmierung > Mit FTP-Server verbinden und Dateindownloaden.
Antwort
 
Themen-Optionen Thema durchsuchen
Alt 21.07.2005, 11:35 Nach oben    #1
Raffy
Gast
 
Beiträge: n/a
Standard Mit FTP-Server verbinden und Dateindownloaden.

Hi Leute

Ich habe da ein kleines Problem. Ich will ein Prgramm schreiben,
das sich mit einem FTP-Server verbindet und dann bestimmt Dateien (*.log)
herrunter läd. Meine erste Frage ist, wie verbinde ich mich mit einem
FTP-Server? Ich hab da schon al gegoogeltund bin soweit gekommen:

Code:
public ftp (InetAddress server, String username, String pass) throws IOException 
   { 
       try 
       { 
      ftpc = new FtpClient (); 
      ftpc.openServer (server.getHostName()); 
      ftpc.login (username, pass); 
       } 
       catch(Exception e) 
       { 
           System.out.println(e.toString()); 
       } 
   }
Ist das sehr falsch? Ich möchte das gerne OOProgramieren


Vielen Dank schon mal im Vorraus.

Euer Raffy
 
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 24.07.2005, 18:39 Nach oben    #2
mr.no
Gast
 
Beiträge: n/a
Standard

Ist das eine fertige library die du benutzt??
Oder willst du ohne eine ftp library auskommen??
 
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 16.09.2005, 16:32 Nach oben    #3
Evomania
Gast
 
Beiträge: n/a
Standard

musst schon einiges beachten, passiv/activ mode, ascii/binär übertragung, Socket verbindung herstellen, Ftp commands sollte dein client auch kennen bzw. auswerten können, und zu guter letzt down und uploaden..... exceptions abfangen, gibt einige vorgefährtigte klassen wo man auf methoden zugreifen kann, aber selbst ist der mann

hier mal nen klitzekleines ausschnitt wie der anfang ist

[code]
package edu.fhm.mp3tool.ftpclient;
import java.io.*;
import java.net.*;
import java.util.StringTokenizer;
public class FTPClient {

private String host = "";
private String userName = "";
private String pw = "";
private String acc = "";
private int controlPort = 21;
private Socket socket;
private String serverResponse = "";
private String reply = "";
private boolean passivMode = false;

private DataInputStream in;
private DataOutputStream out;

private final static int ASCII_MODE = 1;
private final static int BINARY_MODE = 2;

public FTPClient(){
}
public void ftpConnect(String server, String user, String password) throws IOException, UnknownHostException, FTPException{
this.host = server;
this.userName = user;
this.pw = password;
socket = new Socket(server, controlPort);
in = new DataInputStream(new BufferedInputStream(socket.getInputStream()));
out = new DataOutputStream(new BufferedOutputStream(socket.getOutputStream()));
getServerResponse();

ftpLogin(user, password, acc);
}
// serverResponse enthält komplette Msg.
// reply nur die letzte Zeile
private void getServerResponse() throws FTPException, IOException{
reply = "";
serverResponse ="";
while(true){
String line = in.readLine();
if(line == null)
throw new FTPException(FTPException.NO_SERVER_RESPONSE_ERROR ,reply);
if(line.length() < 3)
throw new FTPException(FTPException.UNKNOWN_SERVER_RESPONSE_ ERROR,reply);
serverResponse += line + "\n";
if(!checkReply(line)){
reply = line;
break;
}
}
System.out.print(serverResponse);
System.out.println(reply);
}
// Wenn das Zeichen nach dem Code '-' ist dann handelt es sich um eine mehrzeilige Antwort
private boolean checkReply(String line){
return line.charAt(3) == '-';
}
private void ftpSendCommand(String command) throws IOException, FTPException {
if (out != null){
System.out.println(command);
out.writeBytes(command + "\r\n");
out.flush();
getServerResponse();
}
}
private void ftpLogin(String user, String password, String account) throws IOException, FTPException {
ftpSendCommand("USER " + user);
// (230) Benutzer erfolgreich angemeldet
// Falls nur Username erforderlich zur Anmeldung
if(reply.substring(0,3).equals("230")){
System.out.println("Benutzer angemeldet, bitte fortfahren");
return;
}
// (331) Benutzername OK, Kennwort erforderlich
if(reply.substring(0,3).equals("331")){
System.out.println("Benutzername OK, Kennwort erforderlich");
ftpSendCommand("PASS " + password);
// (331) Benutzerkonto zur Anmeldung erforderlich
if(reply.substring(0,3).equals("332")){
System.out.println("Benutzerkonto zur Anmeldung erforderlich");
ftpSendCommand("ACCT " + account);
}
// (230) Benutzer erfolgreich angemeldet
if(reply.substring(0,3).equals("230")){
System.out.println("Benutzer angemeldet, bitte fortfahren");
return;
}
}
closeSocket();
throw new FTPException(FTPException.LOGIN_ERROR,reply);
}
.
.
.
.
}
 
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
PingBacks sind an
RefBacks sind aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
VCS ohne Server über FTP pago Tools, Server, Betriebssysteme 10 06.08.2007 14:59
WebDAV oder FTP? Jan Tools, Server, Betriebssysteme 15 11.07.2007 14:06
Apache kann nicht gestartet werden. Jan Tools, Server, Betriebssysteme 11 23.11.2006 09:26
Was ist BelBrest.com FTP Server ? CIX88 Plauderecke 4 25.08.2006 21:08
ftp client WurstBrot Allgemeine Java-Programmierung 7 05.09.2005 07:47


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:28 Uhr.


Powered by vBulletin® Version 3.7.4 (Deutsch)
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45