FTP เป็นตัวย่อภาษาอังกฤษของโปรโตคอลการถ่ายโอนไฟล์ (โปรโตคอลการถ่ายโอนไฟล์) และตัวย่อภาษาจีนเรียกว่า "โปรโตคอลการถ่ายโอนเป็นลายลักษณ์อักษร" ใช้สำหรับการถ่ายโอนไฟล์ควบคุมแบบสองทิศทางบนอินเทอร์เน็ต ในเวลาเดียวกันก็เป็นแอปพลิเคชัน มีแอปพลิเคชัน FTP ที่แตกต่างกันตามระบบปฏิบัติการที่แตกต่างกันและแอปพลิเคชันเหล่านี้ทั้งหมดเป็นไปตามโปรโตคอลเดียวกันเพื่อถ่ายโอนไฟล์ ในการใช้ FTP ผู้ใช้มักจะพบสองแนวคิด: "ดาวน์โหลด" และ "อัปโหลด" ไฟล์ "ดาวน์โหลด" หมายถึงการคัดลอกไฟล์จากโฮสต์ระยะไกลไปยังคอมพิวเตอร์ของคุณเอง ไฟล์ "อัปโหลด" หมายถึงการคัดลอกไฟล์จากคอมพิวเตอร์ของคุณไปยังโฮสต์ระยะไกล ในภาษาอินเทอร์เน็ตผู้ใช้สามารถอัปโหลดไฟล์ (ดาวน์โหลด) ไปยัง (จาก) โฮสต์ระยะไกลผ่านโปรแกรมไคลเอนต์
ขั้นแรกให้ดาวน์โหลด Serv-U เพื่อตั้งค่าคอมพิวเตอร์ของคุณเป็นเซิร์ฟเวอร์ไฟล์ FTP เพื่อการทำงานที่ง่าย
1. ดาวน์โหลดไฟล์ FTP (ดาวน์โหลดจากเซิร์ฟเวอร์ FTP ไปยังเครื่องท้องถิ่น)
นำเข้า java.io.file; นำเข้า java.io.fileinputstream; นำเข้า java.io.filenotfoundexception; นำเข้า java.io.fileoutputstream นำเข้า java.io.ioException; นำเข้า java.io.inputstream; org.apache.commons.net.ftp.ftpclient; นำเข้า org.apache.commons.net.ftp.ftpfile; นำเข้า org.apache.commons.net.ftp.ftpreply; คลาสสาธารณะ ftpapche System.getProperty ("file.encoding");/*** คำอธิบาย: ดาวน์โหลดไฟล์จากเซิร์ฟเวอร์ ftp** @ @ @@param url* ftp เซิร์ฟเวอร์โฮสต์* @param พอร์ตเซิร์ฟเวอร์ ftp* @param @param ดาวน์โหลด* @param localpath* เส้นทางที่จะบันทึกไปยังท้องถิ่นหลังจากดาวน์โหลด* @return*/public Static Boolean downfile (url สตริง, พอร์ต int, สตริงผู้ใช้, รหัสผ่านสตริง, สตริง remotepath, ชื่อไฟล์สตริง, สตริง localpath) แทนที่จะเป็น * สตริงใหม่ (remotepath.getBytes (การเข้ารหัส), "ISO-8859-1") การแปลงรหัส * หลังจากการทดสอบไม่สามารถผ่านได้ */// ftpClientConfig conf = ใหม่ ftpClientConfig (ftpClientConfig.syst_nt); // conf.setserverlanguagecode ("zh"); ftpclient.connect (url, พอร์ต); // ถ้าพอร์ตเริ่มต้น ตั้งค่าประเภทการถ่ายโอนไฟล์เป็น binary ftpclient.setFileType (ftpClient.binary_file_type); // รับรหัสตอบกลับการเข้าสู่ระบบ FTP ตอบ = ftpClient.getReplyCode (); // ตรวจสอบว่าการเข้าสู่ระบบนั้นสำเร็จหาก (! {ftpClient.disconnect (); System.err.println ("เซิร์ฟเวอร์ FTP ปฏิเสธการเชื่อมต่อ"); ผลตอบแทน;} // ถ่ายโอนไปยังไดเรกทอรีเซิร์ฟเวอร์ FTP ไปยังไดเรกทอรีที่ระบุ ftpClient.changeWorkingDirectory (remotepath.getBytes (encoding) fs = ftpclient.listfiles (); สำหรับ (ftpfile ff: fs) {ถ้า (ff.getName (). เท่ากับ (ชื่อไฟล์)) {ไฟล์ localfile = ไฟล์ใหม่ (localpath + "/" + ff.getName ()); IS); is.close ();}} ftpClient.logout (); result = true;} catch (ioexception e) {e.printstacktrace ();} ในที่สุด {ถ้า (ftpClient.isconnected () ดาวน์โหลดไฟล์บนเซิร์ฟเวอร์ ftp ไปยัง local * */public void testdownfile () {ลอง {boolean flag = downfile ("10.0.0.102", 21, "admin", "123456", "/", "ip.txt", "e:/"); เป็นโมฆะหลัก (สตริง [] args) {ftpapche fa = ใหม่ ftpapche (); fa.testdownfile ();}}2. อัปโหลดไฟล์ FTP (อัปโหลดจากเครื่องท้องถิ่นไปยังเซิร์ฟเวอร์ FTP)
นำเข้า java.io.file; นำเข้า java.io.fileinputstream; นำเข้า org.apache.commons.net.ftp.ftpclient; นำเข้า org.apache.Commons.net.ftp.ftpreply; public class ftTest_05 {private ftpClient ftp; @param พอร์ตหมายเลขพอร์ต* @param ชื่อผู้ใช้ชื่อผู้ใช้* @param รหัสผ่านรหัสผ่าน* @return* @throws Exception*/ Private Boolean Connect (String Path, String addr, int พอร์ต, ชื่อผู้ใช้สตริง, สตริง) ตอบกลับ; ftp.connect (addr, พอร์ต); ftp.login (ชื่อผู้ใช้, รหัสผ่าน); ftp.setFileType (ftpClient.binary_file_type); ตอบ = ftp.getReplyCode () (! ผลลัพธ์;} ftp.changeworkingDirectory (path); result = true; return result;}/ ** * * @param ไฟล์อัปโหลดไฟล์หรือโฟลเดอร์ * @throws Exception */ โมฆะส่วนตัวอัพโหลด (ไฟล์ไฟล์) ข้อยกเว้น {ถ้า (file.isdirectory ()) {ftp.makedirectory (file.getName ()); ftp.changeworkingDirectory (file.getName ()); string [] file.list (); สำหรับ (int i = 0; ); ถ้า (file1.isdirectory ()) {อัปโหลด (file1); ftp.changetoparentDirectory ();} else {ไฟล์ file2 = ไฟล์ใหม่ (file.getPath ()+"//"+ไฟล์ [i]); fileInputStream อินพุต = ไฟล์นิว fileInputStream (ไฟล์ 2) input); input.close ();}}} else {file file2 = ไฟล์ใหม่ (file.getPath ()); fileInputStream อินพุต = ใหม่ fileInputStream (file2); ftp.storefile (file2.getName (), input.close (); ftptest_05 (); boolean connflag = t.connect ("/", "10.0.0.105", 21, "ls", "123456"); system.out.println ("connflag:" + connflag); ไฟล์ไฟล์ = ไฟล์ " + ไฟล์); t.upload (ไฟล์); system.out.println ("อัปโหลด:" + "ตกลง");}}ด้านบนเป็นรหัสตัวอย่างสำหรับ Java ในการใช้ฟังก์ชั่นการอัปโหลดและดาวน์โหลดของไฟล์ FTP ที่แนะนำโดยตัวแก้ไข ฉันหวังว่ามันจะเป็นประโยชน์กับทุกคน หากคุณมีคำถามใด ๆ โปรดฝากข้อความถึงฉันและบรรณาธิการจะตอบกลับทุกคนในเวลา ขอบคุณมากสำหรับการสนับสนุนเว็บไซต์ Wulin.com!