สำหรับแอปพลิเคชันที่ใช้ไฟล์สำหรับการสลับข้อมูลการใช้เซิร์ฟเวอร์ FTP เป็นทางออกที่ดีมาก
สำหรับกระบวนการก่อสร้างโดยละเอียดของเซิร์ฟเวอร์ Filezilla Server โปรดดูที่การสอนการกำหนดค่าการติดตั้ง Filezilla Server เพื่อนบางคนกล่าวก่อนหน้านี้ว่าการอัปโหลดไฟล์ขนาดใหญ่ (มากกว่าสองสามร้อยเมตร) ไปยังเซิร์ฟเวอร์ FTP จะทำซ้ำปัญหาที่ไม่สามารถเปลี่ยนชื่อได้ แต่ฉันทดสอบการอัปโหลดไฟล์ 2G ไปยังเซิร์ฟเวอร์ Filezilla โดยส่วนตัว รหัส.
favftputil.java
com.favccxx.favsoft.util; net.ftp.ftpclient; ที่อยู่* @param พอร์ตพอร์ต FTP หมายเลขพอร์ตเซิร์ฟเวอร์* @param ชื่อผู้ใช้ชื่อบัญชี ftp หมายเลขบัญชี* @param รหัสผ่าน ftp รหัสผ่านการเข้าสู่ระบบ* @param pathname f tp เซิร์ฟเวอร์บันทึกไดเรกทอรี* @param ชื่อไฟล์ชื่อไฟล์หลังจากอัปโหลดไปยังเซิร์ฟเวอร์ ftp* @param อินพุตอินพุตสตรีม สตรีมไฟล์* @return*/ public boolean uploadfile (สตริงโฮสต์, พอร์ต int, ชื่อผู้ใช้สตริง, รหัสผ่านสตริง, Pathname ST Ring, Filename String, InputStream InputStream) {Boolean Flag = FALSE; SetContreencoding ("UTF-8"); .getReplyCode (); InputStream.close (); .PrintStackTrace ();}} ส่งคืนสถานะธง;} /*** อัปโหลดไฟล์ (เปลี่ยนชื่อไฟล์)* @param ชื่อโฮสต์ FTP ที่อยู่เซิร์ฟเวอร์* @param พอร์ตพอร์ต FTP หมายเลขพอร์ตเซิร์ฟเวอร์* @param ชื่อผู้ใช้ FTP LOGIN * @param pathName ftp เซิร์ฟเวอร์บันทึกไดเรกทอรี * @param filename อัปโหลดไปยัง ftp ชื่อไฟล์หลังจากเซิร์ฟเวอร์ * @param OriginfileName ชื่อของไฟล์อัปโหลด (ที่อยู่สัมบูรณ์) * @return */ สาธารณะบูลีน , รหัสผ่านสตริง, pathname สตริง, ชื่อสตริง, สตริง Originfilename) {boolean flag = false; ;} จับเหตุการณ์ e) {e.printstacktrace ();} return flag;} /* ** ไฟล์อัปโหลด (เปลี่ยนชื่อไฟล์)* @param ชื่อโฮสต์ FTP เซิร์ฟเวอร์* @param พอร์ต FTP หมายเลขพอร์ต* @param ชื่อผู้ใช้ ftp ftp หมายเลขบัญชีล็อกอิน * @param รหัสผ่าน FTP รหัสผ่านเข้าสู่ระบบ * เซิร์ฟเวอร์ FTP บันทึกไดเรกทอรี * @param ชื่อ OriginFileName (ที่อยู่สัมบูรณ์) * @return */ Public Static Boolean uploadFileFromProduction (พอร์ตสตริงสตริงชื่อผู้ใช้สตริง Originfilename) {boolean flag = false; ;} catch (Exception e) {E.printStackTrace ();} return flag;} /*** ลบไฟล์* @param Hostname FTP Server ที่อยู่* @param พอร์ตพอร์ต FTP หมายเลขพอร์ตเซิร์ฟเวอร์* @param ชื่อผู้ใช้ ftp ssword ftp รหัสผ่านการเข้าสู่ระบบ* @ @ s param pathname ftp เซิร์ฟเวอร์บันทึกไดเรกทอรี* @param filename เพื่อลบชื่อไฟล์* @ return*/ public Static boolean deleetefile (String HostName, Int Port, String Username, String Word, String PathName, String Filename) Flag = False; Int ReplyCode = FTPClient = true;} catch (exception e) {e.printStackTrace ();} ในที่สุด {ถ้า (ftpClient.isconnect ()) {ลอง {ftpClient.logout ();} catch (ioexception e) {}}}}}}}}}}}}}}}} } rn flag;} /*** ไฟล์ดาวน์โหลด* @param hostname ftp server address* @param พอร์ต ftp หมายเลขพอร์ตเซิร์ฟเวอร์* @param ชื่อผู้ใช้ ftp หมายเลขบัญชี* @param รหัสผ่าน ftp รหัสผ่านการเข้าสู่ระบบ* @param pathname ftp server directory* @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ Param fil ename ชื่อไฟล์ * @param localpath ดาวน์โหลดพา ธ ไฟล์ * @return */ Public Static Boolean ดาวน์โหลด File (สตริงโฮสต์ชื่อพอร์ต int, สตริงชื่อผู้ใช้, ชื่อสายพาวเวอร์สตริง, ชื่อสตริง, สตริง l ocalpath) {boolean flag = false; ใหม่ ftpClient (); ลอง {// เชื่อมต่อ ftpclient.connect (ชื่อโฮสต์, พอร์ต); .getRepl ycode (); ถ้า (! ftpreply. ispositiveCompletion (ReplyCode) {return flag;} // switch ftpClient.changeWorkingDirectory (pathName); s (); สำหรับ (ไฟล์ ftpfile: ftpfiles) getName ()) {ไฟล์ localfile = ไฟล์ใหม่ (localpath + "/" + file.getName ()); logout (); flag = true;} catch (Exception E) {E.PrintStackTrace ();} ในที่สุด {ถ้า (ftpClient.isconnected ())) {ลอง {ftpcli {}}} return flag;}}favftputiltest.java
com.favccxx.favsoft.util; junit.framework.testcase; "ธุรกิจ"; ชื่อผู้ใช้, รหัสผ่าน, ชื่อพา ธ , ชื่อไฟล์, Originfilename);
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้