في برامج Java ، غالبًا ما تحتاج إلى التعامل مع FTP ، مثل تحميل الملفات وتنزيلها على خادم FTP. تقدم هذه المقالة بإيجاز كيفية استخدام FTPClient في Jakarta Commons (في حزمة Commons-Net) لتحميل الملفات وتنزيلها.
حزم الجرة المستخدمة هي:
العموم--1.4.1.jar
جاكرتا أوو
1. تحميل الملفات
تحميل الملف رمز المصدر/*** الوصف: تحميل ملف إلى خادم FTP* @version1.0* param URL بنجاح ، بخلاف ذلك خطأ */static boolean uploadfile (string url ، // ftp server hostname int port ، // ftp server port string username ، // ftp login account string password ، // ftp login password string path ، ftpclient ftp = new ftpclient () ؛ جرب {int reply ؛ ftp.connect (url ، port) ؛ // قم بتوصيل خادم FTP // إذا تم استخدام المنفذ الافتراضي ، فيمكنك الاتصال مباشرة بخادم FTP بواسطة ftp.connect (url) ؛ ftp.login (اسم المستخدم ، كلمة المرور) ؛ // login reply = ftp.getReplyCode () ؛ if (! ftpreply.ispositivecOption (الرد)) {ftp.disconnect () ؛ العودة النجاح } ftp.ChangeWorkingDirectory (path) ؛ ftp.storefile (اسم الملف ، المدخلات) ؛ input.close () ؛ ftp.logout () ؛ النجاح = صحيح ؛ } catch (ioException e) {E.PrintStackTrace () ؛ } أخيرًا {if (ftp.isconnected ()) {try {ftp.disconnect () ؛ } catch (ioException ioe) {}} return success ؛ } فيما يلي حالات الاختبار لتحميل الملف:
/*** قم بتحميل الملفات المحلية إلى خادم FTP**/public void testuploadfromDisk () {try {fileInputStream in = new FileInputStream (ملف جديد ("d: /test.txt")) ؛ flag boolean = UploadFile ("127.0.0.1" ، 21 ، "Administrator" ، "Zyuc2011" ، "Test" ، "Test.txt" ، in) ؛ system.out.println (flag) ؛ } catch (fileNotFoundException e) {e.printStackTrace () ؛ }} / ** * قم بإنشاء ملف على خادم FTP واكتب سلسلة إلى الملف * * / public void testuploadfromString () {try {String str = "هذه هي السلسلة المراد كتابتها!" ؛ inputStream input = new ByTearRayInputStream (str.getBytes ("UTF-8")) ؛ FOOLEAN FLAG = UPLOADFILE ("127.0.0.1" ، 21 ، "Administrator" ، "Zyuc2011" ، "Test" ، "Test.txt" ، input) ؛ system.out.println (flag) ؛ } catch (UnsupportedEncodingException e) {E.PrintStackTrace () ؛ }} 2. تنزيل الملف <br /> تنزيل ملف رمز المصدر
/*** الوصف: قم بتنزيل الملف من خادم FTP* @version1.0* param url ftp server hostname* port port port ftp server port* param username ftp login accoun Public Static Boolean Downfile (url url ، // ftp server hostname int port ، // ftp server port string username ، // ftp login account string parse ، ftpclient ftp = new ftpclient () ؛ جرب {int reply ؛ ftp.connect (url ، port) ؛ // إذا تم استخدام المنفذ الافتراضي ، يمكنك الاتصال مباشرة بخادم FTP باستخدام ftp.connect (url) ؛ ftp.login (اسم المستخدم ، كلمة المرور) ؛ // تسجيل الدخول = ftp.getReplyCode () ؛ if (! ftpreply.ispositivecOption (الرد)) {ftp.disconnect () ؛ العودة النجاح } ftp.ChangeWorkingDirectory (remotepath) ؛ // Transfer to the FTP Server Directory ftpfile [] fs = ftp.listfiles () ؛ لـ (ftpfile ff: fs) {if (ff.getName (). equals (filename)) {file localfile = new file (localPath+"/"+ff.getName ()) ؛ OutputStream هو = fileOutputStream جديد (LocalFile) ؛ ftp.retrievefile (ff.getName () ، IS) ؛ is.close () ؛ }} ftp.logout () ؛ النجاح = صحيح ؛ } catch (ioException e) {E.PrintStackTrace () ؛ } أخيرًا {if (ftp.isconnected ()) {try {ftp.disconnect () ؛ } catch (ioException ioe) {}} return success ؛ } فيما يلي حالات الاختبار لتنزيل الملف:
/** * قم بتنزيل الملف على خادم FTP إلى testDownFile Local * */public void () {try {boolean flag = downfile ("127.0.0.1 ، 21 ،" Administrator "،" Zyuc2011 "،" Test "،" Test.txt "،" D:/") ؛ system.out.println (flag) ؛ } catch (استثناء e) {E.PrintStackTrace () ؛ }}ما سبق هو كل شيء عن هذا المقال ، آمل أن يكون مفيدًا لتعلم الجميع.