程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA編程入門知識 >> 如何在Java程序中實現FTP的上傳下載功能

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

編輯:JAVA編程入門知識
 

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) {;}
  }
  }
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved