Dalam program Java, Anda sering perlu berurusan dengan FTP, seperti mengunggah dan mengunduh file ke server FTP. Artikel ini secara singkat memperkenalkan cara menggunakan FTPClient di Jakarta Commons (dalam paket Commons-Net) untuk mengunggah dan mengunduh file.
Paket toples yang digunakan adalah:
commons-net-1.4.1.jar
jakarta-oro.jar
1. Unggah file
Kode sumber unggahan file/*** Deskripsi: Unggah file ke server ftp* @version1.0* @param url server ftp nama host* @param port ftp server port* @param nama pengguna ftp login ftp* @param kata sandi ftp @parput @param server ftp save direcory* @param file @param @param @parput @parput @parput @param server ftp ftp simpan direktori* @param file @param file @param file @param file @param file @param @param file @param file @param file @param file @param file @param file true successfully, otherwise false */ public static boolean uploadFile( String url,//FTP server hostname int port,//FTP server port String username, // FTP login account String password, // FTP login password String path, // FTP server saves the directory String filename, // Upload to the FTP server InputStream input // Input stream) { boolean success = false; FtpClient ftp = ftpclient baru (); coba {int balasan; ftp.connect (url, port); // Sambungkan server FTP // Jika port default digunakan, Anda dapat langsung terhubung ke server FTP dengan FTP.Connect (URL); ftp.login (nama pengguna, kata sandi); // login balasan = ftp.getReplycode (); if (! ftpreply.ispositiveCompletion (balasan)) {ftp.disconnect (); Sukses kembali; } ftp.changeworkingdirectory (path); ftp.storefile (nama file, input); input.close (); ftp.logout (); Sukses = Benar; } catch (ioException e) {e.printstacktrace (); } akhirnya {if (ftp.isconnected ()) {coba {ftp.disconnect (); } catch (ioException IoE) {}} return Success; } Berikut adalah kasus uji untuk unggahan file:
/*** Unggah file lokal ke server ftp**/public void testUploadFromDisk () {coba {fileInputStream in = new fileInputStream (file baru ("d: /test.txt")); bendera boolean = unggahfile ("127.0.0.1", 21, "administrator", "zyuc2011", "test", "test.txt", in); System.out.println (flag); } catch (FileNotFoundException e) {e.printstacktrace (); }} / ** * Hasilkan file pada server FTP dan tulis string ke file * * / public void testUploadFromString () {coba {string str = "Ini adalah string yang akan ditulis!"; InputStream input = new ByteArrayInputStream (str.getbytes ("UTF-8")); bendera boolean = unggahfile ("127.0.0.1", 21, "administrator", "zyuc2011", "test", "test.txt", input); System.out.println (flag); } catch (UnsupportedEncodingException e) {e.printstacktrace (); }} 2. Unduh File <BR /> Kode Sumber Unduh File
/** * Description: Download the file from the FTP server* @Version1.0 * @param url FTP server hostname * @param port FTP server port* @param username FTP login account* @param password FTP login password* @param remotePath Relative path on the FTP server* @param fileName File name to download* @param localPath The path to save to the local after downloading* @return */downfile boolean statis public (string url, // port hostname server ftp, // port server ftp string nama pengguna, // ftp login akun string kata sandi, // ftp login kata sandi string remotePath, // jalur relatif pada falure falure) falure fiale) falure falure to localing) {name local local local local {local local local {faleAn; FtpClient ftp = ftpclient baru (); coba {int balasan; ftp.connect (url, port); // Jika port default digunakan, Anda dapat langsung terhubung ke server FTP dengan menggunakan FTP.Connect (URL); ftp.login (nama pengguna, kata sandi); // login balasan = ftp.getReplycode (); if (! ftpreply.ispositiveCompletion (balasan)) {ftp.disconnect (); Sukses kembali; } ftp.changeworkingdirectory (remotePath); // Transfer ke direktori server ftp ftpfile [] fs = ftp.listFiles (); untuk (ftpfile ff: fs) {if (ff.getName (). Equals (fileName)) {file localfile = file baru (localpath+"/"+ff.getName ()); OutputStream adalah = FileOutputStream baru (LocalFile); ftp.retrievefile (ff.getName (), is); is.close (); }} ftp.logout (); Sukses = Benar; } catch (ioException e) {e.printstacktrace (); } akhirnya {if (ftp.isconnected ()) {coba {ftp.disconnect (); } catch (ioException IoE) {}} return Success; } Berikut adalah kasus uji untuk unduhan file:
/** * Unduh file di server FTP ke lokal * */public void testdownFile () {coba {boolean flag = downfile ("127.0.0.1", 21, "administrator", "zyuc2011", "test", "test.txt", "d:/"); System.out.println (flag); } catch (Exception e) {E.PrintStackTrace (); }}Di atas adalah semua tentang artikel ini, saya harap ini akan membantu untuk pembelajaran semua orang.