Saya tidak akan mengatakan banyak omong kosong, saya hanya akan memposting kode kepada Anda. Kode spesifiknya adalah sebagai berikut:
// File Unggah public static boolean unggahtoftp (string url, int port, string username, kata sandi string, jalur string, string fileName, inputStream input) {boolean success = false; FtpClient ftp = ftpClient baru (); // org.apache.commons.net.ftp coba {if (port> -1) {ftp.connect (url, port); } else {ftp.connect (url); // port default ftp adalah 21} // banyak orang menulis untuk menggunakan ftp.getReplycode () untuk mendapatkan nilai pengembalian koneksi, tetapi ini akan menyebabkan storeFileStream NULL if (ftp.login (username, kata sandi)) {ftp.eREnde (ftp. ftp.setFileType (ftpclient.binary_file_type); // Buat direktori, jika ada, itu akan gagal mengembalikan ftp.makedirectory (path); // alihkan direktori ftp.changeworkingdirectory (path); // Unggah file // FTP Protocol menetapkan bahwa format pengkodean file adalah iso-8859-1 filename = string baru (filename.getbytes ("gbk"), "iso-8859-1"); OutputStream out = ftp.storefileStream (nama file); byte [] bytearray = byte baru [4096]; int baca = 0; while ((baca = input.read (bytearray))! =-1) {out.write (bytearray, 0, baca); } out.close (); ftp.logout (); Sukses = Benar; }} catch (Exception e) {} akhirnya {if (ftp.isconnected ()) {ftp.disconnecct (); }}} // File Unduh public static boolean downloadFromftp (string url, int port, string username, kata sandi string, jalur string, string localpath) {boolean sukses = false; FtpClient ftp = ftpClient baru (); // org.apache.commons.net.ftp coba {int balasan; if (port> -1) {ftp.connect (url, port); } else {ftp.connect (url); // port default ftp adalah 21} // banyak orang menulis untuk menggunakan ftp.getReplycode () untuk mendapatkan nilai pengembalian koneksi, tetapi ini akan menyebabkan storeFileStream mengembalikan null ftp.login (nama pengguna, kata sandi) ftp.enterlocact (null); ftp.setFileType (ftpclient.binary_file_type); Balas = ftp.getReplyCode (); if (! ftpreply.ispositionCompletion (balasan)) {ftp.disconnect (); Return Success; s} // Ganti direktori di sini, jika switching gagal, itu berarti bahwa tidak ada jalur pada ftp.changeworkingdirectory (path); // unggah file ftpfile [] fs = ftp.listFiles (); OutputStream out = null; Inputstream in = null; untuk (int i = 0; i <fs.length; i ++) {ftpfile ff = fs [i]; String outfileName = ff.getName (); // Saat membuat file lokal, Anda harus mengonversi format pengkodean kembali string localFileName = string baru (ff.getName (). GetBytes ("iso-8859-"), "gbk"); File localfile = file baru (localpath+lcoalfilename); out = FileOutputStream baru (LocalFile); di = ftp.retrievefileStream (outfileName); byte [] bytearray = byte baru [4096]; int baca = 0; while ((baca = in.read (bytearray))! =-1) {out.write (bytearray, 0, baca); } // Kalimat ini sangat penting untuk mengoperasikan saluran aliran FTP beberapa kali, dan menunggu setiap perintah untuk menyelesaikan ftp.compleTependingCommand (); out.flush (); out.close (); ftp.logout (); Sucess = true; } catch (exception e) {} akhirnya {if (ftp.isconnected ()) {ftp.disconnecct (); }}}Di atas adalah implementasi Java dari unggahan file FTP dan unduh yang diperkenalkan oleh editor kepada Anda. Saya harap ini akan membantu Anda. Jika Anda memiliki pertanyaan, silakan tinggalkan saya pesan dan editor akan membalas Anda tepat waktu. Terima kasih banyak atas dukungan Anda ke situs web Wulin.com!