In der Java -Programmentwicklung wird FTP häufiger verwendet und befindet sich häufig damit, z. B. das Hochladen und Herunterladen von Dateien auf den FTP -Server. In diesem Artikel werden Sie vorgestellt, wie Sie den FTPClient in Jakarta Commons (im Commons-Net-Paket) verwenden, um Dateien hochzuladen und herunterzuladen.
1. Laden Sie Dateien hoch
Ich werde das Prinzip nicht vorstellen. Bitte lesen Sie den Code direkt vor
/** * Beschreibung: Laden Sie die Datei auf den FTP-Server hoch * @Version1.0 27. Juli 2008 4:31:09 PM von Cui Hongbao ([email protected]) erstellen * @param url ftp Server * @param Port FTP Server Port * @Param Username FTP LOGING LOGING LOGING LOGING LOGING LOGING LOGING LOGING LOGING LOGING LOGING LOGING LOGING LOGING LOGIN. @param Dateiname hochladen auf den FTP -Server* @param input -Stream* @return return true erfolgreich, ansonsten return false*/ publicStaticBoolean UploadFile (String -URL, int Port, String -Benutzername, String -Kennwort, String -Pfad, String -FileName, InputStream -Eingabe) {Boolean Success = False; Ftpclient ftp = new ftpclient (); Versuchen Sie {int Antwort; FTP.Connect (URL, Port); // Verbinden Sie den FTP -Server // Wenn der Standardport verwendet wird, können Sie direkt eine Verbindung zum FTP -Server mit FTP.Connect (URL) herstellen. ftp.login (Benutzername, Kennwort); // login Reply = ftp.getreplycode (); if (! ftpreply.ispositiveCompletion (Antwort)) {ftp.disconnect (); Erfolgserfolg; } ftp.ChangeworkingDirectory (Pfad); ftp.storefile (Dateiname, Eingabe); input.close (); ftp.logout (); Erfolg = wahr; } catch (ioException e) {e.printstacktrace (); } endlich {if (ftp.isconnected ()) {try {ftp.disconnect (); } catch (ioException ioe) {}}} Return Erfolg; } <pre> < /pre> /*** Beschreibung: Laden Sie die Datei auf den FTP-Server hoch* @Version1.0 27. Juli 2008 4:31:09 PM von Cui Hongbao ([email protected]) erstellen* @param URL FTP Server-Hostname* @Param Port FTP Server-Port* @PARAM username username username username FTP -Server speichern Verzeichnis* @param Dateiname hochladen auf den FTP -Server* @param Eingabeeingangsstream* @return return true erfolgreich, ansonsten return false*/public static boolean uploadfile (String url, int port, String -Benutzername, String -Passwort, String -Pfad, String -Filename) {{boolean erfolgreich; ftpclient ftpclient ftpcl. Antwort; {ftp.disconnect (); Rückgabeerfolg;} ftp.ChangeWorkingDirectory (Pfad); ftp.storefile (Dateiname, Eingabe); input.close();ftp.logout();success = true;} catch (IOException e) {e.printStackTrace();} finally {if (ftp.isConnected()) {try {ftp.disconnect();} catch (IOException ioe) {}}}return success;}
Schreiben wir zwei kleine Beispiele:
1. Laden Sie die lokale Datei auf den FTP -Server hoch, der Code ist wie folgt:
@Test publicVoid testUploadFromDisk () {try {FileInputStream in = new FileInputStream (neue Datei ("d: /test.txt")); boolean flag = uploadFile ("127.0.0.1", 21, "test", "test", "d:/ftp", "test.txt", in); System.out.println (Flag); } catch (FilenotFoundException e) {e.printstacktrace (); }} <pre> </pre> @TestPublic void testUploadFromDisk () {try {fileInputStream in = new FileInputStream (neue Datei ("d: /test.txt"); boolean flag = uploadfile ("127.0.1", 21, "test", "test", "test", "test", "test", "test", "test" in); System.out.println (Flag);} catch (FilenotFoundException e) {e.printstacktrace ();}} 2. Generieren Sie eine Datei auf dem FTP -Server und schreiben Sie eine Zeichenfolge in die Datei
@Test publicVoid testUploadfromstring () {try {InputStream input = new bytearrayInputStream ("test ftp" .getBytes ("utf-8"); boolean flag = uploadFile ("127.0.0.1", 21, "test", "test", "d:/ftp", "test.txt", input); System.out.println (Flag); } catch (unportedenCodingException e) {e.printstacktrace (); }} <pre> </pre> @Testpublic void testUploadfromstring () {try {InputStream input = new bytearrayinputStream ("test ftp" .GetBytes ("utf-8")); boolean Flag = UploadFile ("127.0.1.1, 21.,", ",", ",", ",", ",", ",", ",", ",", ",", ",", ",", ",", ",", ",", ",", ",", ",", ",", ",", ",", ",", "," "," input); System.out.println (Flag);} catch (UnsupportedenCodingException e) {e.printstacktrace ();}} 2. Laden Sie die Datei herunter
Der Code zum Herunterladen von Dateien von einem FTP -Server ist ebenfalls sehr einfach. Beachten Sie ihn bitte wie folgt:
/*** Beschreibung: Laden Sie die Datei vom FTP -Server* @Version herunter. Jul, :: PM von Cui Hongbao ([email protected]) erstellen* @param url ftp Server Hostname* @param port ftp Server-Port* @param userername ftp login-Konto* @param Passwort ftp login kennwort* @param remotepath relativ Path. Der Lokal nach dem Herunterladen * @return */ publicStaticBoolean Downfile (String -URL, int Port, String -Benutzername, String -Kennwort, String Remotepath, String -Dateiname, String LocalPath) {boolean success = false; Ftpclient ftp = new ftpclient (); Versuchen Sie {int Antwort; ftp.connect (URL, Port); // Wenn der Standardport verwendet wird, können Sie direkt eine Verbindung zum FTP -Server mit FTP.Connect (URL) herstellen. ftp.login (Benutzername, Kennwort); // login Reply = ftp.getreplycode (); if (! ftpreply.ispositiveCompletion (Antwort)) {ftp.disconnect (); Erfolgserfolg; } ftp.ChangeWorkingDirectory (remotepath); // Übertragen Sie in das FTP Server -Verzeichnis ftpfile [] fs = ftp.listfiles (); für (ftpfile ff: fs) {if (ff.getName (). Equals (Dateiname)) {Datei localFile = new Datei (LocalPath+"/"+ff.getName ()); OutputStream ist = new FileOutputStream (localFile); ftp.retrieveFile (ff.getName (), IS); IS.CLOSE (); }} ftp.logout (); Erfolg = wahr; } catch (ioException e) {e.printstacktrace (); } endlich {if (ftp.isconnected ()) {try {ftp.disconnect (); } catch (ioException ioe) {}}} Return Erfolg; } <pre> </pre>