استخدم أداة Apache FTP لتحميل الملفات وتنزيلها وحذفها ، على النحو التالي
1. قم بتنزيل حزمة الجرة المقابلة
العموم--1.4.1.jar
2. رمز التنفيذ هو كما يلي:
الفئة العامة ftputils {// ftp address address public string assname = "192.168.1.249" ؛ // رقم منفذ خادم FTP الافتراضي إلى 21 منفذ عدد صحيح عام = 21 ؛ // ftp login account public string username = "root" ؛ // ftp login password password string = "123" ؛ FTPCLIENT العام ftpclient = null ؛ / *** تهيئة خادم ftp*/ public void initftpclient () {ftpClient = new ftpclient () ؛ ftpclient.setControlenCoding ("UTF-8") ؛ حاول {system.out.println ("Connecting ... خادم ftp:"+this.hostName+":"+this.port) ؛ ftpclient.connect (اسم المضيف ، المنفذ) ؛ // قم بتوصيل خادم FTP ftpclient.login (اسم المستخدم ، كلمة المرور) ؛ // تسجيل الدخول إلى خادم FTP int replyCode = ftpClient.getReplyCode () ؛ // ما إذا كان الخادم قد تم تسجيل الدخول بنجاح إذا (! ftpreply.ispositivecOption (replyCode)) {system.out.println ("فشل connect ... خادم 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 () ؛ }} / *** تحميل ملف* param pathname ftp خدمة حفظ العنوان* param filename filename تم تحميله على ftp* param OriginFilename اسم الملف المراد تحميله (العنوان المطلق)** regurn* / public boolean uploadfile (string pathname ، string filename) inputStream inputStream = null ؛ حاول {system.out.println ("بدء تحميل ملف") ؛ inputStream = جديد fileInputStream (ملف جديد (OriginFilename)) ؛ initftpclient () ؛ ftpclient.setfiletype (ftpclient.binary_file_type) ؛ CreateRecroty (PathName) ؛ ftpclient.makedirectory (pathname) ؛ ftpClient.ChangeWorkingDirectory (pathName) ؛ ftpclient.storefile (اسم الملف ، inputStream) ؛ inputStream.Close () ؛ ftpclient.logout () ؛ العلم = صحيح ؛ System.out.println ("تحميل ملف بنجاح") ؛ } catch (استثناء e) {system.out.println ("FAILLED FILE FAILLED") ؛ E.PrintStackTrace () ؛ } أخيرًا {if (ftpclient.isconnected ()) {try {ftpclient.disconnect () ؛ } catch (ioException e) {E.PrintStackTrace () ؛ }} if (null! = inputStream) {try {inputStream.close () ؛ } catch (ioException e) {E.PrintStackTrace () ؛ }}} إرجاع صحيح ؛ } / *** تحميل ملف* param pathname ftp خدمة حفظ العنوان* param اسم ملف filename تم تحميله على ftp* param دفق ملف الإدخال inputStream* @return* / public boolean uploadfile (مسار السلسلة ، اسم ملف السلسلة ، inputStream inputStream) {boolean flag = false ؛ حاول {system.out.println ("بدء تحميل ملف") ؛ initftpclient () ؛ ftpclient.setfiletype (ftpclient.binary_file_type) ؛ CreateRecroty (PathName) ؛ ftpclient.makedirectory (pathname) ؛ ftpClient.ChangeWorkingDirectory (pathName) ؛ ftpclient.storefile (اسم الملف ، inputStream) ؛ inputStream.Close () ؛ ftpclient.logout () ؛ العلم = صحيح ؛ System.out.println ("تحميل ملف بنجاح") ؛ } catch (استثناء e) {system.out.println ("FAILLED FILE FAILLED") ؛ E.PrintStackTrace () ؛ } أخيرًا {if (ftpclient.isconnected ()) {try {ftpclient.disconnect () ؛ } catch (ioException e) {E.PrintStackTrace () ؛ }} if (null! = inputStream) {try {inputStream.close () ؛ } catch (ioException e) {E.PrintStackTrace () ؛ }} إرجاع صحيح ؛ } // تغيير مسار الدليل العام المنطقي changeWorkingDirectory (دليل السلسلة) {flag boolean = true ؛ حاول {flag = ftpclient.ChangeWorkingDirectory (دليل) ؛ if (flag) {system.out.println ("Enter Folder" + Directory + "Success!") ؛ } آخر {system.out.println ("إدخال المجلد" + الدليل + "فشل! ابدأ في إنشاء مجلد") ؛ }} catch (ioException ioe) {ioe.printstacktrace () ؛ } العلم الإرجاع ؛ } // إنشاء ملف دليل متعدد الطبقات. إذا كان هناك خادم FTP ، فلن يتم إنشاءه. إذا لم يكن هناك ، فإن إنشاء Boolean Public CreateRecroty (سلسلة عن بعد) يلقي ioException {Boolean Success = true ؛ دليل السلسلة = Remote + "/" ؛ // إذا لم يكن الدليل عن بُعد موجودًا ، فقم بإنشاء دليل خادم عن بُعد بشكل متكرر إذا (! directory.equalsignorecase ("/") &&! changeWorkingDirectory (سلسلة جديدة (دليل))) int end = 0 ؛ if (directory.startswith ("/")) {start = 1 ؛ } آخر {start = 0 ؛ } end = directory.indexof ("/" ، start) ؛ مسار السلسلة = "" ؛ مسارات السلسلة = "" ؛ بينما (صحيح) {String subdirectory = new string (Remote.SubString (start ، end) .getBytes ("GBK") ، "ISO-8859-1") ؛ path = path + "/" + subdirectory ؛ if (! questfile (path)) {if (makedirectory (subdirectory)) {changeWorkingDirectory (subdirectory) ؛ } آخر {system.out.println ("إنشاء دليل [" + subdirectory + "] فشل") ؛ changeWorkingDirectory (الدليل الفرعي) ؛ }} else {changeWorkingDirectory (subdirectory) ؛ } المسارات = المسارات + "/" + الفرعي ؛ ابدأ = نهاية + 1 ؛ end = directory.indexof ("/" ، start) ؛ // تحقق مما إذا كانت جميع الدلائل قد تم إنشاؤها إذا (end <= start) {break ؛ }}} نجاح الإرجاع ؛ }. ftpfile [] ftpfiLeArr = ftpclient.listfiles (path) ؛ if (ftpfiLeArr.length> 0) {flag = true ؛ } العلم الإرجاع ؛ } // إنشاء دليل منطقي عام makedirectory (سلسلة dir) {boolean flag = true ؛ حاول {flag = ftpclient.makedirectory (dir) ؛ if (flag) {system.out.println ("Create Folder" + dir + "success!") ؛ } آخر {system.out.println ("إنشاء مجلد" + dir + "فشل!") ؛ }} catch (استثناء e) {E.PrintStackTrace () ؛ } العلم الإرجاع ؛ } / ** * تنزيل ملف * * param pathname ftp دليل ملف خادم FTP * * param اسم الملف اسم * * param localpath path بعد التنزيل * * return * / public boolean downloadFile (string pathname ، string filenpath) {boolean flag ؛ OutputStream OS = NULL ؛ حاول {system.out.println ("ابدأ تنزيل ملف") ؛ initftpclient () ؛ // تبديل دليل FTP FTPCLIENT.CHANGEWORKINGDIRECTORY (PATHNAME) ؛ ftpfile [] ftpfiles = ftpclient.listfiles () ؛ لـ (ftpfile file: ftpfiles) {if (filename.equalsignorecase (file.getName ())) {file localfile = new file (localPath + "/" + file.getName ()) ؛ OS = FileOutputStream جديد (LocalFile) ؛ ftpClient.RetRieveFile (file.getName () ، OS) ؛ OS.Close () ؛ }} ftpclient.logout () ؛ العلم = صحيح ؛ System.out.println ("تنزيل الملف بنجاح") ؛ } catch (استثناء e) {system.out.println ("فشل تنزيل ملف") ؛ E.PrintStackTrace () ؛ } أخيرًا {if (ftpclient.isconnected ()) {try {ftpclient.disconnect () ؛ } catch (ioException e) {E.PrintStackTrace () ؛ }} if (null! = os) {try {os.close () ؛ } catch (ioException e) {E.PrintStackTrace () ؛ }}} علامة الإرجاع ؛ } / ** * حذف الملف * * param pathname خادم FTP يحفظ الدليل * * param filename اسم الملف المراد حذفه * * return * / public boolean deletefile (string pathname ، اسم ملف السلسلة) حاول {system.out.println ("ابدأ حذف الملف") ؛ initftpclient () ؛ // تبديل دليل FTP FTPCLIENT.CHANGEWORKINGDIRECTORY (PATHNAME) ؛ ftpclient.dele (اسم الملف) ؛ ftpclient.logout () ؛ العلم = صحيح ؛ System.out.println ("حذف الملف بنجاح") ؛ } catch (استثناء e) {system.out.println ("فشل الملف فشل") ؛ E.PrintStackTrace () ؛ } أخيرًا {if (ftpclient.isconnected ()) {try {ftpclient.disconnect () ؛ } catch (ioException e) {E.PrintStackTrace () ؛ }} علامة الإرجاع ؛ } main static void main (string [] args) {ftputils ftp = new ftputils () ؛ //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") ؛ }} ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.