تعلم كيفية استخدام الفئة URLConnection لتحميل ملف من خادم FTP

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل

تعلم كيفية استخدام الفئة URLConnection لتحميل ملف من خادم FTP

مُساهمة من طرف أحمد مناع في الأربعاء فبراير 12, 2014 9:12 pm

بسم الله الرحمن الرحيم 

أهلا وسهلا بكم إخوانى الكرام .... فى درس سابق تعلمنا كيفية تحميل الملفات من سرفر FTP من خلال تطبيفات الجافا بإستخدام Apache Commons Net API درس اليوم ايضا عن كيفية تحميل ملف من سرفر FTP باستخدام الفئة URLConnection وهى أحد الفئات التابعة للمكتبة java.net وتستند تلك الفئة على مواصفات تقنية RFC 1738  التي تحدد شكل URL للوصول الى خادم FTP على النحو التالي:

ftp://user:password@host:port/path

ويسمى المخطط أعلاه بأسم FTP URL حيث أن :


  • user ......... اسم مستخدم حساب FTP
  • password .. كلمة المرور لحساب  FTP
  • host ........ اسم المضيف أو عنوان IP لملقم FTP
  • port ........ رقم المنفذ الذى يستكع الية الخادم الافتراضي هو 21
  • path ....... مسار الملف على الخادم و يأخذ الشكل التالي:


<cwd1>/<cwd2>/.../<cwdN>/<name>;type=<typecode>

حيث أن  :


  • <cwd1>/<cwd2>/.../<cwdN> ..... هى الدلائل التى تشكل مسار بنية دليل معين
  • <name> ...... أسم الملف المراد تحملية
  • type=<typecode> .... وهذا الجزء أختيارى وهو يحدد وضعية النقل و إذا تم حذف هذا الجزء فإن العميل يقوم بتخمين الوضع المناسب حيث أن typecode  تأخذ ثلاثة حالات :



  • a ....من أجل الوضع Ascii – text mode
  • i ..... من أجل الوضع Image – binary mode
  • d .... من أجل الوضع Directory listing



على سيبل المثال : إذا اردنا تحميل الملف المضغوط Project.zip الموجود فى الدليل /project/2012  على المضيف www.myserver.com  و كان أسم المستخدم ahmed  و كلمة المرور للمضيف هى pass سيتم بناء مخطط FTP URL  على النحو التالى :

ftp://ahmed:pass@www.myserver.com/project/2012/Project.zip;type=i
 

و هذا المخطط لو قمنا بنسخة ووضعة فى المتصفح سيتم تحميل الملف المضغوط Project.zip

فى تطبيقات الجافا يمكنك إستخدام الفئة URLConnection لفتح اتصال على URL FTP، ومن ثم الحصول على تدفق الإدخال لقراءة البيانات بايت للملف المضغوط . ثم استخدام تدفق إخراج للملف لكتابة و حفظ وحدات البايت الملف على الجهاز على سبيل المثال:

الرمز:
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;
 
public class FtpUrlDownload {
    private static final int BUFFER_SIZE = 4096;
 
    public static void main(String[] args) {
        String ftpUrl = "ftp://%s:%s@%s/%s;type=i";
        String host = "www.yourserver.com";
        String user = "ahmed";
        String pass = "pass";
        String filePath = "/project/2012/Project.zip";
        String savePath = "E:/Download/Project.zip";
 
        ftpUrl = String.format(ftpUrl, user, pass, host, filePath);
        System.out.println("URL: " + ftpUrl);
 
        try {
            URL url = new URL(ftpUrl);
            URLConnection conn = url.openConnection();
            InputStream inputStream = conn.getInputStream();
 
            FileOutputStream outputStream = new FileOutputStream(savePath);
 
            byte[] buffer = new byte[BUFFER_SIZE];
            int bytesRead = -1;
            while ((bytesRead = inputStream.read(buffer)) != -1) {
                outputStream.write(buffer, 0, bytesRead);
            }
 
            outputStream.close();
            inputStream.close();
 
            System.out.println("File downloaded");
        } catch (IOException ex) {
            ex.printStackTrace();
        }
    }
}

تحياتى لكم واللى اللقاء فى درس جديد ان شاء الله تعالى

ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم

إن فقدت مكان بذورك التي بذرتها يوما ما سيخبرك المطر أين زرعتها ..لذا إبذر الخير فوق أي أرض وتحت أي سماء ومع أي أحد.. فأنت لا تعلم أين تجده ومتى تجده؟! إزرع جميلا ولو في غير موضعه .... فلا يضيع جميلا أينما زرعا .. فما أجمل العطاء... فقد تجد جزاءه في الدنيا أو يكون لك ذخرا في الآخرة

أحمد مناع
.
.

تاريخ التسجيل : 15/02/2011
المساهمات : 810
النقاط : 1479
التقيم : 69
الدولة : مصر
الجنس : ذكر

http://egy-tech.forumegypt.net

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: تعلم كيفية استخدام الفئة URLConnection لتحميل ملف من خادم FTP

مُساهمة من طرف أحمد مناع في الأحد نوفمبر 08, 2015 6:48 am

للرفع

ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم

إن فقدت مكان بذورك التي بذرتها يوما ما سيخبرك المطر أين زرعتها ..لذا إبذر الخير فوق أي أرض وتحت أي سماء ومع أي أحد.. فأنت لا تعلم أين تجده ومتى تجده؟! إزرع جميلا ولو في غير موضعه .... فلا يضيع جميلا أينما زرعا .. فما أجمل العطاء... فقد تجد جزاءه في الدنيا أو يكون لك ذخرا في الآخرة

أحمد مناع
.
.

تاريخ التسجيل : 15/02/2011
المساهمات : 810
النقاط : 1479
التقيم : 69
الدولة : مصر
الجنس : ذكر

http://egy-tech.forumegypt.net

الرجوع الى أعلى الصفحة اذهب الى الأسفل

استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة


 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى