Gunakan alat Apache FTP untuk mengunggah, mengunduh dan menghapus file, sebagai berikut
1. Unduh paket jar yang sesuai
commons-net-1.4.1.jar
2. Kode implementasi adalah sebagai berikut:
kelas publik ftputils {// ftp address server public string hostname = "192.168.1.249"; // Nomor port server FTP default ke 21 port integer publik = 21; // akun login ftp string publik nama pengguna = "root"; // FTP Login Kata Sandi Publik String Password = "123"; ftpClient ftpClient publik = null; / *** inisialisasi server ftp*/ public void initftpclient () {ftpClient = ftpClient baru (); ftpClient.setControlencoding ("UTF-8"); coba {System.out.println ("Menghubungkan ... server FTP:"+this.hostname+":"+this.port); ftpClient.Connect (nama host, port); // Sambungkan server FTP ftpclient.login (nama pengguna, kata sandi); // Masuk ke server ftp int ReplyCode = ftpClient.getReplyCode (); // apakah server berhasil masuk dengan sukses jika (! Ftpreply.ispositiveCompletion (balasan)) {System.out.println ("Connect Gagal ... server FTP:"+this.hostname+":"+this.port); } System.out.println ("Connect SuccessFu ... FTP Server:"+this.hostname+":"+this.port); } catch (MalFormedurlexception e) {e.printstacktrace (); } catch (ioException e) {e.printstacktrace (); }} / *** mengunggah file* @param pathname ftp layanan simpan alamat* @param file nama file yang diunggah ke ftp* @param originfilename nama file yang akan diunggah (alamat absolut)* @return* / public boolean unggahan (string pathname, string file, string original original original original original original original) unggahan public boolean (string string, string filename, string origin InputStream inputStream = null; coba {System.out.println ("File Mulai Upload"); inputStream = FileInputStream baru (file baru (OriginFileName)); initftpclient (); ftpClient.setFileType (ftpclient.binary_file_type); CreateDirecroty (pathname); ftpclient.makedirectory (pathname); ftpclient.changeworkingdirectory (pathname); ftpClient.Storefile (nama file, inputstream); inputStream.close (); ftpclient.logout (); bendera = true; System.out.println ("Unggah file berhasil"); } catch (Exception e) {System.out.println ("Unggah file gagal"); e.printstacktrace (); } akhirnya {if (ftpclient.isconnected ()) {coba {ftpclient.disconnect (); } catch (ioException e) {e.printstacktrace (); }} if (null! = inputStream) {coba {inputStream.close (); } catch (ioException e) {e.printstacktrace (); }}} return true; } / *** Unggah file* @param pathname FTP Layanan Simpan alamat* @param nama file nama file yang diunggah ke ftp* @param inputStream stream file input* @return* / public boolean unggahan (boolean flag = false; coba {System.out.println ("File Mulai Upload"); initftpclient (); ftpClient.setFileType (ftpclient.binary_file_type); CreateDirecroty (pathname); ftpclient.makedirectory (pathname); ftpclient.changeworkingdirectory (pathname); ftpClient.Storefile (nama file, inputstream); inputStream.close (); ftpclient.logout (); bendera = true; System.out.println ("Unggah file berhasil"); } catch (Exception e) {System.out.println ("Unggah file gagal"); e.printstacktrace (); } akhirnya {if (ftpclient.isconnected ()) {coba {ftpclient.disconnect (); } catch (ioException e) {e.printstacktrace (); }} if (null! = inputStream) {coba {inputStream.close (); } catch (ioException e) {e.printstacktrace (); }} return true; } // Ubah jalur direktori public boolean changeworkingdirectory (direktori string) {boolean flag = true; coba {flag = ftpclient.changeworkingdirectory (direktori); if (flag) {System.out.println ("Enter folder" + Direktori + "Sukses!"); } else {System.out.println ("Enter folder" + direktori + "Gagal! Mulai membuat folder"); }} catch (ioException IoE) {ioe.printstacktrace (); } mengembalikan bendera; } // Buat file direktori multi-lapis. Jika ada server FTP, itu tidak akan dibuat. Jika tidak ada, buat boolean publik createdirecroty (string remote) melempar ioException {boolean success = true; Direktori String = Remote + "/"; // Jika direktori jarak jauh tidak ada, buat direktori server jarak jauh secara rekursif jika (! Directory.equalsignorecase ("/") &&! ChangeworkingDirectory (string baru (direktori))) {int start = 0; int end = 0; if (directory.startswith ("/")) {start = 1; } else {start = 0; } end = directory.indexof ("/", start); String path = ""; String paths = ""; while (true) {string subdirectory = string baru (remote.substring (start, end) .getBytes ("gbk"), "iso-8859-1"); path = path + "/" + subdirektori; if (! ExistFile (path)) {if (makeDirectory (subdirectory)) {changeworkingdirectory (subdirectory); } else {System.out.println ("Buat direktori [" + subdirektori + "] gagal"); ChangeworkingDirectory (subdirektori); }} else {ChangeworkingDirectory (subdirectory); } path = paths + "/" + subdirektori; start = end + 1; end = directory.indexof ("/", start); // Periksa apakah semua direktori telah dibuat IF (end <= start) {break; }}} Return Success; } // Tentukan apakah file server ftp ada boolean publik eksistfile (jalur string) melempar ioException {boolean flag = false; Ftpfile [] ftpfileArr = ftpClient.listFiles (path); if (ftpfilearr.length> 0) {flag = true; } mengembalikan bendera; } // Buat direktori public boolean makedirectory (string dir) {boolean flag = true; coba {flag = ftpclient.makedirectory (dir); if (flag) {System.out.println ("Buat Folder" + Dir + "Success!"); } else {System.out.println ("Buat Folder" + Dir + "Gagal!"); }} catch (Exception e) {e.printstacktrace (); } mengembalikan bendera; } / ** * Unduh file * * @param pathname ftp direktori file server * * @param nama file nama file * * @param localpath file path setelah unduh * * @return * / public boolean downloadfile (string pathname, string filename, string localpath) {boolean flag = false; OutputStream OS = null; coba {System.out.println ("Mulai Unduh File"); initftpclient (); // sakelar direktori ftp ftpclient.changeworkingdirectory (pathname); Ftpfile [] ftpfiles = ftpclient.listFiles (); untuk (file ftpfile: ftpfiles) {if (filename.equalsignorecase (file.getName ())) {file localfile = file baru (localpath + "/" + file.getName ()); OS = FileOutputStream baru (LocalFile); ftpClient.RetrieveFile (file.getName (), OS); os.close (); }} ftpclient.logout (); bendera = true; System.out.println ("Unduh File berhasil"); } catch (Exception e) {System.out.println ("Unduh File Gagal"); e.printstacktrace (); } akhirnya {if (ftpclient.isconnected ()) {coba {ftpclient.disconnect (); } catch (ioException e) {e.printstacktrace (); }} if (null! = os) {coba {os.close (); } catch (ioException e) {e.printstacktrace (); }}} return flag; } / ** * Hapus file * * @param pathname server ftp menyimpan direktori * * @param file nama file yang akan dihapus * * @return * / public boolean deleteFile (string pathname, string fileName) {boolean flag = false; coba {System.out.println ("Mulai hapus file"); initftpclient (); // sakelar direktori ftp ftpclient.changeworkingdirectory (pathname); ftpclient.dele (nama file); ftpclient.logout (); bendera = true; System.out.println ("Hapus file berhasil"); } catch (Exception e) {System.out.println ("Hapus file gagal"); e.printstacktrace (); } akhirnya {if (ftpclient.isconnected ()) {coba {ftpclient.disconnect (); } catch (ioException e) {e.printstacktrace (); }} return flag; } public static void main (string [] args) {ftputils ftp = ftputils baru (); //ftp.uploadfile("ftpfile/data "," 123.docx "," e: //123.docx "); //ftp.downloadfile("ftpfile/data "," 123.docx "," f: // "); ftp.deleteFile ("ftpfile/data", "123.docx"); System.out.println ("OK"); }} Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.