ฉันจะไม่พูดเรื่องไร้สาระมากฉันจะโพสต์รหัสให้คุณ รหัสเฉพาะมีดังนี้:
// ไฟล์อัปโหลดบูลีนแบบคงที่บูลีน uploadToftp (rl string, พอร์ต int, ชื่อผู้ใช้สตริง, รหัสผ่านสตริง, พา ธ สตริง, ชื่อไฟล์สตริง, อินพุตอินพุต) {boolean success = false; ftpClient ftp = new ftpClient (); // org.apache.commons.net.ftp ลอง {ถ้า (พอร์ต> -1) {ftp.connect (url, พอร์ต); } else {ftp.connect (url); // พอร์ตเริ่มต้นของ FTP คือ 21} // หลายคนเขียนเพื่อใช้ ftp.getReplyCode () เพื่อรับค่าการเชื่อมต่อของการเชื่อมต่อ แต่สิ่งนี้จะทำให้ oreFilestream ส่งคืนค่า null (ftp.login ftp.setFileType (ftpClient.binary_file_type); // สร้างไดเรกทอรีถ้ามีอยู่มันจะล้มเหลวในการส่งคืน ftp.makedirectory (เส้นทาง); // สลับไดเรกทอรี ftp.changeworkingdirectory (เส้นทาง); // อัปโหลดโปรโตคอล FIL // FTP กำหนดว่ารูปแบบการเข้ารหัสไฟล์คือ ISO-8859-1 filename = สตริงใหม่ (filename.getBytes ("GBK"), "ISO-8859-1"); outputStream out = ftp.storefileStream (ชื่อไฟล์); ไบต์ [] bytearray = ไบต์ใหม่ [4096]; int read = 0; ในขณะที่ ((read = input.read (bytearray))! =-1) {out.write (bytearray, 0, อ่าน); } out.close (); ftp.logout (); ความสำเร็จ = จริง; }} catch (exception e) {} ในที่สุด {if (ftp.isconnected ()) {ftp.disconnecct (); }}} // ไฟล์ดาวน์โหลด public public boolean downloadfromftp (url สตริง, พอร์ต int, ชื่อผู้ใช้สตริง, รหัสผ่านสตริง, เส้นทางสตริง, สตริง localpath) {boolean success = false; ftpClient ftp = new ftpClient (); // org.apache.commons.net.ftp ลอง {int ตอบกลับ; if (พอร์ต> -1) {ftp.connect (url, พอร์ต); } else {ftp.connect (url); // พอร์ตเริ่มต้นของ FTP คือ 21} // หลายคนเขียนเพื่อใช้ ftp.getReplyCode () เพื่อรับค่าการเชื่อมต่อของการเชื่อมต่อ แต่สิ่งนี้จะทำให้ oreFileStream ส่งคืน null ftp.login ftp.setFileType (ftpClient.binary_file_type); ตอบ = ftp.getReplyCode (); if (! ftpreply.ispositioncompletion (ตอบกลับ)) {ftp.disconnect (); คืนความสำเร็จ; s} // สลับไดเรกทอรีที่นี่หากการสลับล้มเหลวหมายความว่าไม่มีเส้นทางบน ftp.changeworkingdirectory (เส้นทาง); // อัปโหลดไฟล์ ftpfile [] fs = ftp.listfiles (); outputstream out = null; inputStream ใน = null; สำหรับ (int i = 0; i <fs.length; i ++) {ftpfile ff = fs [i]; สตริง outfiLename = ff.getName (); // เมื่อสร้างไฟล์โลคัลคุณต้องแปลงรูปแบบการเข้ารหัสสตริง back localFileName = สตริงใหม่ (ff.getName (). getBytes ("ISO-8859-"), "GBK"); ไฟล์ localfile = ไฟล์ใหม่ (localpath+lcoalfilename); out = new fileOutputStream (localfile); ใน = ftp.retrieveFileStream (outfilename); ไบต์ [] bytearray = ไบต์ใหม่ [4096]; int read = 0; ในขณะที่ ((read = in.read (bytearray))! =-1) {out.write (bytearray, 0, อ่าน); } // ประโยคนี้มีความสำคัญมากในการใช้งานช่องสัญญาณของสตรีม FTP หลายครั้งและรอให้แต่ละคำสั่งเพื่อทำ ftp.completependingCommand () out.flush (); out.close (); ftp.logout (); ความสำเร็จ = จริง; } catch (exception e) {} ในที่สุด {if (ftp.isconnected ()) {ftp.disconnecct (); -ด้านบนคือการใช้งาน Java ของการอัปโหลดไฟล์ FTP และดาวน์โหลดที่ตัวแก้ไขแนะนำให้คุณ ฉันหวังว่ามันจะเป็นประโยชน์กับคุณ หากคุณมีคำถามใด ๆ โปรดฝากข้อความถึงฉันและบรรณาธิการจะตอบกลับคุณทันเวลา ขอบคุณมากสำหรับการสนับสนุนเว็บไซต์ Wulin.com!