gzyueqian
13424082685
首页 > 新闻中心 > > 正文

如何在Java程序中实现FTP的上传下载功能

更新时间: 2008-06-12 13:28:40来源: 粤嵌教育浏览量:1381

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





免费预约试听课