賽迪網 > IT技術 Java > (最新更新)Java基礎
  IT資訊搜索
 
IT產品搜索
[程式開發][網管世界][網路安全][數據庫技術]
[作業系統][嘉賓聊天·線上訪談][活動集錦]
[精彩專題][Symantec專區][訂閱IT技術週刊]
[開發論壇][網管論壇][安全論壇][數據庫論壇]
[作業系統論壇][Sybase專區][IBM dW技術專區]
[病毒求助][病毒與漏洞播報][文檔·源碼下載]

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

發佈時間:2008.06.12 06:21     來源:賽迪網    作者:metallica

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) {;}
  }
  }

(責任編輯:雲子)


[ 發表評論 ] 字體[  ] [ 列印 ] [ 進入博客 ] [ 進入論壇 ]  [ 推薦給朋友 ]
  相關文章
· .Net新手學堂:Lambda運算式的一般應用 (06-11) · 在Java中實現DOM文檔和XML文件互相轉換 (06-11)
· Windows作業系統下JSP程式開發環境配置 (06-10) · JSF與WEB完美應用組合 高度提升開發效率 (06-10)
· 加速PHP動態網站 關於MySQL索引分析優化 (06-10) · Java編程新手入門:運算符優先級(圖表) (06-06)
· 故障解析:.NET開發正則運算式中BUG一例 (06-06) · ASP.NET實現頁面間值傳遞的幾種方法介紹 (06-06)
· 如何挽救Java命運危急 改革JCP已成必須 (06-05) · C#編程實用技巧:輕鬆實現對文件的操作 (06-04)
  客戶需求反饋表
* 姓  名:
更多資料  了解方案  認識廠商
* 單位名稱:
* 聯繫電話:
* 電子郵件:
  賽迪推薦  
  手機·資費 ·新品·導購·評測·手機資費·寬帶
手機搜索  諾基亞 N73 MOTO Z6
  IT產品 ·筆記本·臺式機·伺服器·列印·投影
IT產品搜索 
  IT技術 ·開發·網管·安全·數據庫·作業系統
  資訊化 ·熱點·專題·訪談·週刊·方案案例
· 移動資訊化市場方興未艾 企業呼喚標準出臺
· 如何把握企業價值差異 避免CRM與SCM脫節
· 齊看四大廠商的SaaS動態 ERP案例分析
· 通方期貨CRM解決方案 方正電子公文系統
  IT博客 ·曾劍秋·項立剛·Java學習·網管
  IT技術論壇 ·開發·網管·安全·數據庫·系統