| 導購 | 订阅 | 在线投稿
分享
 
 
 

如何在Java程序中實現FTP的上傳下載功能

來源:互聯網網民  2008-06-13 06:49:06  評論

FtpList部分是用來顯示FTP服務器上的文件;

GetButton部分爲從FTP服務器下傳一個文件;

PutButton部分爲向FTP服務器上傳一個文件。

別忘了在程序中還要引入兩個庫文件(import sun.net.*,import sun.net.ftp.*)。

以下是這三部分的JAVA源程序:

(1)顯示FTP服務器上的文件

void ftpList_actionPerformed(ActionEvent e) {

String server=serverEdit.getText();

//輸入的FTP服務器的IP地址

String user=userEdit.getText();

//登錄FTP服務器的用戶名

String password=passwordEdit.getText();

//登錄FTP服務器的用戶名的口令

String path=pathEdit.getText();

//FTP服務器上的路徑

try {

FtpClient ftpClient=new FtpClient();

//創建FtpClient對象

ftpClient.openServer(server);

//連接FTP服務器

ftpClient.login(user, password);

//登錄FTP服務器

if (path.length()!=0) ftpClient.cd(path);

TelnetInputStream is=ftpClient.list();

int c;

while ((c=is.read())!=-1) {

System.out.print((char) c);}

is.close();

ftpClient.closeServer();//退出FTP服務器

} catch (IOException ex) {;}

}

(2)從FTP服務器上下傳一個文件

void getButton_actionPerformed(ActionEvent e) {

String server=serverEdit.getText();

String user=userEdit.getText();

String password=passwordEdit.getText();

String path=pathEdit.getText();

String filename=filenameEdit.getText();

try {

FtpClient ftpClient=new FtpClient();

ftpClient.openServer(server);

ftpClient.login(user, password);

if (path.length()!=0) ftpClient.cd(path);

ftpClient.binary();

TelnetInputStream is=ftpClient.get(filename);

File file_out=new File(filename);

FileOutputStream os=new

FileOutputStream(file_out);

byte[] bytes=new byte[1024];

int c;

while ((c=is.read(bytes))!=-1) {

os.write(bytes,0,c);

}

is.close();

os.close();

ftpClient.closeServer();

} catch (IOException ex) {;}

}

(3)向FTP服務器上上傳一個文件

void putButton_actionPerformed(ActionEvent e) {

String server=serverEdit.getText();

String user=userEdit.getText();

String password=passwordEdit.getText();

String path=pathEdit.getText();

String filename=filenameEdit.getText();

try {

FtpClient ftpClient=new FtpClient();

ftpClient.openServer(server);

ftpClient.login(user, password);

if (path.length()!=0) ftpClient.cd(path);

ftpClient.binary();

TelnetOutputStream os=ftpClient.put(filename);

File file_in=new File(filename);

FileInputStream is=new FileInputStream(file_in);

byte[] bytes=new byte[1024];

int c;

while ((c=is.read(bytes))!=-1){

os.write(bytes,0,c);}

is.close();

os.close();

ftpClient.closeServer();

} catch (IOException ex) {;}

}

}

 
特别声明:以上内容(如有图片或视频亦包括在内)为网络用户发布,本站仅提供信息存储服务。
 
FtpList部分是用來顯示FTP服務器上的文件; GetButton部分爲從FTP服務器下傳一個文件; PutButton部分爲向FTP服務器上傳一個文件。 別忘了在程序中還要引入兩個庫文件(import sun.net.*,import sun.net.ftp.*)。 以下是這三部分的JAVA源程序: (1)顯示FTP服務器上的文件 void ftpList_actionPerformed(ActionEvent e) { String server=serverEdit.getText(); //輸入的FTP服務器的IP地址 String user=userEdit.getText(); //登錄FTP服務器的用戶名 String password=passwordEdit.getText(); //登錄FTP服務器的用戶名的口令 String path=pathEdit.getText(); //FTP服務器上的路徑 try { FtpClient ftpClient=new FtpClient(); //創建FtpClient對象 ftpClient.openServer(server); //連接FTP服務器 ftpClient.login(user, password); //登錄FTP服務器   if (path.length()!=0) ftpClient.cd(path);   TelnetInputStream is=ftpClient.list();   int c;   while ((c=is.read())!=-1) {   System.out.print((char) c);}   is.close();   ftpClient.closeServer();//退出FTP服務器   } catch (IOException ex) {;}   } (2)從FTP服務器上下傳一個文件   void getButton_actionPerformed(ActionEvent e) {   String server=serverEdit.getText();   String user=userEdit.getText();   String password=passwordEdit.getText();   String path=pathEdit.getText();   String filename=filenameEdit.getText();   try {   FtpClient ftpClient=new FtpClient();   ftpClient.openServer(server);   ftpClient.login(user, password);   if (path.length()!=0) ftpClient.cd(path);   ftpClient.binary();   TelnetInputStream is=ftpClient.get(filename);   File file_out=new File(filename);   FileOutputStream os=new   FileOutputStream(file_out);   byte[] bytes=new byte[1024];   int c;   while ((c=is.read(bytes))!=-1) {   os.write(bytes,0,c);   }   is.close();   os.close();   ftpClient.closeServer();   } catch (IOException ex) {;}   } (3)向FTP服務器上上傳一個文件   void putButton_actionPerformed(ActionEvent e) {   String server=serverEdit.getText();   String user=userEdit.getText();   String password=passwordEdit.getText();   String path=pathEdit.getText();   String filename=filenameEdit.getText();   try {   FtpClient ftpClient=new FtpClient();   ftpClient.openServer(server);   ftpClient.login(user, password);   if (path.length()!=0) ftpClient.cd(path);   ftpClient.binary();   TelnetOutputStream os=ftpClient.put(filename);   File file_in=new File(filename);   FileInputStream is=new FileInputStream(file_in);   byte[] bytes=new byte[1024];   int c;   while ((c=is.read(bytes))!=-1){   os.write(bytes,0,c);}   is.close();   os.close();   ftpClient.closeServer();   } catch (IOException ex) {;}   }   }
󰈣󰈤
王朝萬家燈火計劃
期待原創作者加盟
 
 
 
>>返回首頁<<
 
 
 
 
 
 熱帖排行
 
 
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有