< pre class = "prettyprint lang-java" >import java.io.File ؛
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream ؛
import org.apache.commons.net.ftp.FTP;
import org.apache.commons.net.ftp.FTPClient;
من الفئة العامة FTPUploadFile {
الفراغ الثابت العام الرئيسي (سلسلة [] args) {
Server String = "ServerAddress" ؛
int port = 21 ؛
مستخدم السلسلة = "اسم المستخدم" ؛
كلمة مرور السلسلة = "كلمة المرور الخاصة بك" ؛
FTPClient ftpClient = FTPClient الجديد () ؛
جرب {
ftpClient.connect (الخادم ، المنفذ) ؛
ftpClient.login (المستخدم ، كلمة المرور) ؛
ftpClient.enterLocalPassiveMode();
ftpClient.setFileType(FTP. BINARY_FILE_TYPE) ؛
// النهج 1: تحميل ملف باستخدام ملف InputStream
= ملف جديد ("C: / plugins and styles.txt") ؛
مسار السلسلة = "الإضافات و styles.txt" ؛
InputStream inputStream = جديد FileInputStream (ملف) ؛
System.out.println ("بدء التحميل")؛
// إخراج upload
الدقة المنطقية = ftpClient.storeFile (المسار ، inputStream) ؛
// يغلق دفق القراءة
inputStream.close ();
if (res==true) {
System.out.println ("تم تنزيل الملف "+ path+" بنجاح") ؛
}
// النهج 2: تحميل ملف باستخدام ملف OutputStream
= ملف جديد ("C: / track 1.wma") ؛
path = "الصوت / المسار 1.wma" ؛
inputStream = ملف جديد InputStream (ملف) ؛
System.out.println ("بدء التحميل")؛
OutputStream outputStream = ftpClient.storeFileStream (المسار) ؛
بايت [] بايت = بايت جديد [4096] ؛
int buffer = 0 ؛
//طالما أننا لم نصل إلى نهاية الملف
System.out.println ("جار التنزيل ...") ؛
int المنقولة = 0 ؛
int في المئة = 0 ؛
// طالما أننا لم نصل إلى نهاية الملف
بينما ((buffer = inputStream.read (bytesIn)) != -1) {
//read البيانات بمخزن مؤقت يبلغ 4096 بايت
outputStream.write (بايت ، 0 ، مخزن مؤقت) ؛
نقل += المخزن المؤقت ؛
بالمائة = (int) (منقول * 100 / file.length ()) ؛
System.out.println(النسبة المئوية+"٪");
}
// إغلاق تدفقات قراءة الكتابة
inputStream.close ();
outputStream.close ();
// نتيجة التحميل
res = ftpClient.completePendingCommand ();
if (res) {
System.out.println ("تم تنزيل الملف "+path+" بنجاح");
}
} catch (IOException e) {
System.out.println(e.getMessage());
e.printStackTrace ();
} أخيرا {
جرب {
if (ftpClient.isConnected()) {
//close FTP
ftpClient.logout();
ftpClient.disconnect();
}
} الصيد (IOException ex) {
ex.printStackTrace ();
}
}
}
}إرجاع تنفيذ هذا الرمز أن النقل قد تم بنجاح:
Start of upload
تم تنزيل المكونات الإضافية والملف styles.txt بنجاح
بدء التحميل
1٪
2٪
3٪
.
.
97٪
98٪
98٪
99٪
99٪
100٪
تم تنزيل ملف المسار 1.wma بنجاح