In Java -Programmen müssen Sie sich häufig mit FTP befassen, z. B. das Hochladen und Herunterladen von Dateien auf den FTP -Server. In diesem Artikel wird kurz vorgestellt, wie das FTPClient in Jakarta Commons (im Commons-Net-Paket) verwendet wird, um Dateien hochzuladen und herunterzuladen.
Die verwendeten Glaspakete sind:
Commons-net-1.4.1.jar
Jakarta-oro.jar
1. Laden Sie Dateien hoch
Datei hochladen erfolgreich, ansonsten false */public static boolean Uploadfile (String -URL, // FTP Server Hostname int Port, // FTP Server -Port -String -String -Benutzername, // FTP -Anmeldekonto -String -Kennwort, // FTP -Anmeldungskennwort -Pfad String -Pfad, // FTP -Server speichert den Verzeichnis String -FileName, // ftp load auf dem fata -upload auf dem fata -upload auf dem fata -upload auf dem fata -upload auf dem fata -upload auf dem fata -upload auf dem fata -upload auf dem fata -upload auf dem fata -upload auf dem fata -upload auf dem fata -upload auf dem fata -upload auf dem fata -upload auf dem fata -upload auf den 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 per ftp.connect (URL) herstellen. ftp.login (Benutzername, Passwort); // 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; } Hier sind die Testfälle für das Datei -Upload:
/*** Laden Sie lokale Dateien auf den FTP -Server hoch**/public void testUploadFromDisk () {try {FileInputStream in = new FileInputStream (neue Datei ("d: /test.txt"); Boolean Flag = UploadFile ("127.0.0.1", 21, "Administrator", "Zyuc2011", "Test", "test.txt", in); System.out.println (Flag); } catch (FilenotFoundException e) {e.printstacktrace (); }} / ** * generieren Sie eine Datei auf dem FTP -Server und schreiben Sie eine Zeichenfolge in die Datei * * / public void testUploadfromstring () {try {string str = "Dies ist die zu schriftliche Zeichenfolge!"; InputStream input = new bytearrayInputStream (str.getBytes ("utf-8")); Boolean Flag = UploadFile ("127.0.0.1", 21, "Administrator", "Zyuc2011", "Test", "test.txt", Eingabe); System.out.println (Flag); } catch (unportedenCodingException e) {e.printstacktrace (); }} 2. Datei -Download <BR /> Datei -Download -Quellcode
/*** Beschreibung: Laden Sie die Datei vom FTP -Server herunter* @Version1.0* @param URL FTP Server Hostname* @param Port FTP Server -Port* @param userername ftp login -Konto* @param password ftp login -password* @param remotepath Relative Pfad auf dem Lokal -Afterame -Dateinamen. public static boolean Downfile (String -URL, // FTP Server Hostname int Port, // FTP Server Port String -String -Benutzername, // FTP -Anmeldekonto Kennwort, // FTP -Anmeldekennwort String String Remotepath, // relativer Pfad auf dem FTP -Server -String -Filename, // Dateiname, der zum Lokalspath auf dem lokalen Download nachgeladen wurde. 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; } Hier sind die Testfälle für den Datei -Download:
/** * Laden Sie die Datei auf dem FTP -Server auf die lokale herunter * */public void testdownfile () {try {boolean flag = downfile ("127.0.1", 21, "Administrator", "Zyuc2011", "Test", "test.txt", "D:/"); System.out.println (Flag); } catch (Ausnahme e) {e.printstacktrace (); }}Das Obige dreht sich alles um diesen Artikel, ich hoffe, es wird für das Lernen aller hilfreich sein.