点击这里给我发消息 点击这里给我发消息

在Java程序中实现FTP功能

添加时间:2013-12-7
    相关阅读: 程序

本文来演示在JAVA编程中实现FTP功能的三个重要部分内容的源程序:

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

咨询热线:020-85648757 85648755 85648616 0755-27912581 客服:020-85648756 0755-27912581 业务传真:020-32579052
广州市网景网络科技有限公司 Copyright◎2003-2008 Veelink.com. All Rights Reserved.
广州商务地址:广东省广州市黄埔大道中203号(海景园区)海景花园C栋501室
= 深圳商务地址:深圳市宝源路华丰宝源大厦606
研发中心:广东广州市天河软件园海景园区 粤ICP备05103322号 工商注册