สำหรับรายละเอียดโปรดดูด้านล่าง:
ในแง่ของแอปพลิเคชันของไฟล์สำหรับข้อมูลแบบโต้ตอบการใช้เซิร์ฟเวอร์ FTP เป็นตัวเลือกที่ดี บทความนี้ใช้ Apache Jakarta Commons Net (Commons-Net-3.3.jar) ตามเซิร์ฟเวอร์ Filezilla Server เพื่อใช้ไฟล์อัปโหลด/ดาวน์โหลด/ลบไฟล์บนเซิร์ฟเวอร์ FTP
สำหรับกระบวนการก่อสร้างโดยละเอียดของเซิร์ฟเวอร์ Filezilla Server โปรดดูที่การสอนการกำหนดค่าการติดตั้ง Filezilla Server เพื่อนบางคนกล่าวก่อนหน้านี้ว่าการอัปโหลดไฟล์ขนาดใหญ่ (มากกว่าสองสามร้อยเมตร) ไปยังเซิร์ฟเวอร์ FTP จะทำซ้ำปัญหาที่ไม่สามารถเปลี่ยนชื่อได้ แต่ฉันทดสอบการอัปโหลดไฟล์ 2G ไปยังเซิร์ฟเวอร์ Filezilla โดยส่วนตัว รหัส.
favftputil.javapackage com.favccxx.favsoft.util; นำเข้า Java.io.file; ; เลเยอร์คอนโทรลเลอร์)* @param ชื่อโฮสต์ที่อยู่เซิร์ฟเวอร์ ftp* @param พอร์ตพอร์ต ftp หมายเลขพอร์ตเซิร์ฟเวอร์* @param ชื่อผู้ใช้ ftp หมายเลขบัญชี* @param รหัสผ่านการเข้าสู่ระบบรหัสผ่าน* @param ame ftp เซิร์ฟเวอร์บันทึกไดเรกทอรี* @param filename ชื่อไฟล์หลังจากอัปโหลดไปยังไฟล์ FTP Server* @Param อินพุตไฟล์อินพุต* @return*/ public Static Boolean uploadFile (ชื่อโฮสต์สตริง, พอร์ต int, ชื่อผู้ใช้สตริง, รหัสผ่าน strin g, pathname สตริง, สตริงชื่อไฟล์, inputstream inputstream) = ftpClient (); = ftpClient.getReplyCode (); อินพุตสตรีม) ; ioexception e) {e.printstacktrace ();}}} /*** ไฟล์อัปโหลด (สามารถจับคู่กับไฟล์ถูกเปลี่ยนชื่อ)* @param ชื่อโฮสต์ FTP เซิร์ฟเวอร์* @param พอร์ตหมายเลขพอร์ตเซิร์ฟเวอร์ FTP* @param บัญชี* @param รหัสผ่าน ftp รหัสผ่านเข้าสู่ระบบ* @param pathname ftp เซิร์ฟเวอร์ชื่อไฟล์หลังจากอัปโหลดไปยังเซิร์ฟเวอร์ ftp* @ @ @param riginfilename ชื่อ (ที่อยู่สัมบูรณ์)* @return*/ public boolean boolean uploadfilefromproduction (พอร์ตสตริง , pathname สตริง, ชื่อ FileName, riginfilename สตริง) {boolean flag = false; Catch (Exception E) {E.printStackTrace ();} return flag;} /*** อัปโหลดไฟล์ (ไฟล์ที่เปลี่ยนชื่อที่ไม่สามารถทำได้)* @param ชื่อโฮสต์ FTP เซิร์ฟเวอร์* @param พอร์ต FTP หมายเลขพอร์ตเซิร์ฟเวอร์* @param ชื่อผู้ใช้ชื่อผู้ใช้ หมายเลขบัญชีล็อกอิน FTP * @param รหัสผ่านเข้าสู่ระบบรหัสผ่าน * @param me ftp เซิร์ฟเวอร์บันทึกไดเรกทอรี * @param ชื่อ Originfilename (ที่อยู่สัมบูรณ์) * @redurn */ public boolean boolean uploadfileFromProduction (พอร์ตสตริงสตริงรหัสผ่านสตริง String Originfilename) {Boolean Flag = False; , inputStream);} catch (Exception e) {e.printstacktrace ();} return flag;} /*** ลบไฟล์* @param hostname ftp เซิร์ฟเวอร์ที่อยู่* @param พอร์ต FTP หมายเลขเซิร์ฟเวอร์* @param ชื่อผู้ใช้ FTP * @param รหัสผ่าน ftp รหัสผ่านเข้าสู่ระบบ* @param pathname ftp เซิร์ฟเวอร์บันทึกไดเรกทอรี* @param filename ชื่อไฟล์เพื่อลบ* @return*/ public Static boolean deleetefile (สตริงโฮสต์ชื่อพอร์ต int, สตริงผู้ใช้, รหัสผ่านสตริง FIDENAME String) {Boolean Flag = False; เซิร์ฟเวอร์ FTP ถูกลงชื่อเข้าใช้การตอบกลับ int replecode = ftpClient.getReplyCode () ถ้า (! ftpClient.logout (); Flag = true; }}} return flag;} /*** ดาวน์โหลดไฟล์* @param hostname ftp เซิร์ฟเวอร์ที่อยู่* @param พอร์ต FTP หมายเลขพอร์ตเซิร์ฟเวอร์* @param ชื่อผู้ใช้ FTP LOGIN * @param ชื่อไฟล์ชื่อไฟล์ * @param localpath พา ธ ไฟล์ที่ดาวน์โหลด * @return */ public Static Boolean ดาวน์โหลดไฟล์ (สตริงโฮสต์, พอร์ต int, ชื่อผู้ใช้สตริง, ชื่อสายไฟสตริง, สตริงชื่อไฟล์, strin g localpath) ftpClient = new ftpClient (); ลอง {// เชื่อมต่อ ftpclient.connect (ชื่อโฮสต์, พอร์ต); g etreplyCode (); ถ้า (!! ftpreply.ispositiveCompletion (ReplyCode) {return flag;} // switch ftpClient.changeWorkingDirectory (ชื่อพา ธ ); ftpfile [] ftpclien t.listfiles () filename.equalsignorecase (ไฟล์. getName ()))) {ไฟล์ localfile = ไฟล์ใหม่ (localpath + "/" + file.getName ()); ); logout ();} catch (ioexception e) {}}} return flag;}} favftputiltest.javapackage com.favccxx.favsoft.util; = "127.0. 0.1"; // users//downloads/downloads.rar "; favftputil.uploadfilefromproduction (ชื่อโฮสต์, พอร์ต, ชื่อผู้ใช้, ชื่อพา ธ , ชื่อไฟล์, Originfilename); // ring localpath =" d:/"; ชื่อผู้ใช้, รหัสผ่าน, ชื่อพา ธ , ชื่อไฟล์, localpath);}}
ด้านบนเป็นรหัสที่สมบูรณ์ของการดาวน์โหลดไฟล์ดาวน์โหลดผ่าน FTP