تعلم كيفية استخدام الفئة URLConnection لتحميل ملف من خادم FTP
منتدى مصر التقني :: قسم لغات البرمجة Programming languages :: لغة الجافا Java :: التعامل مع الشبكات Java Networking
صفحة 1 من اصل 1 • شاطر
تعلم كيفية استخدام الفئة URLConnection لتحميل ملف من خادم FTP
بسم الله الرحمن الرحيم
أهلا وسهلا بكم إخوانى الكرام .... فى درس سابق [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] درس اليوم ايضا عن كيفية تحميل ملف من سرفر FTP باستخدام الفئة URLConnection وهى أحد الفئات التابعة للمكتبة java.net وتستند تلك الفئة على مواصفات تقنية RFC 1738 التي تحدد شكل URL للوصول الى خادم FTP على النحو التالي:
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]
ويسمى المخطط أعلاه بأسم 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 على المضيف [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] و كان أسم المستخدم ahmed و كلمة المرور للمضيف هى pass سيتم بناء مخطط FTP URL على النحو التالى :
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] target="_blank" rel="nofollow">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();
}
}
}
تحياتى لكم واللى اللقاء فى درس جديد ان شاء الله تعالى
ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
رد: تعلم كيفية استخدام الفئة URLConnection لتحميل ملف من خادم FTP
للرفع
ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
| |
منتدى مصر التقني :: قسم لغات البرمجة Programming languages :: لغة الجافا Java :: التعامل مع الشبكات Java Networking
صفحة 1 من اصل 1
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى
» مدرس رياضيات متوسط ثانوي 97234924 بالكويت
» أفضل موقع تأجير سيارات في مصر
» مدرس رياضيات متوسط ثانوي 97234924 بالكويت
» شركة آي بي إس للخدمات الاستشارية المالية وتكنولوجيا المعلومات
» ادارة متجرك الالكتروني
» مدرس انجليزي متوسط ثانوي 97234912 بالكويت
» شركة IBS للاستشارات الاقتصادية والادارية
» أحصل ملبغ مالى "رمزي " نظير مشاركاتك و مقالاتك بالمنتدي
» "أحلامنا المرآة: فك رموزها واستكشاف عمق المعاني"