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



相关阅读:
兼容IE、FireFox、Chrome等浏览器的xml处理函数js代码
MySQL数据库的临时文件究竟储存在哪里
优化MySQL数据库性能的十个参数
javascript通过按钮实现超链接
ASP下存储过程编写入门全接触
如何删除Windows2003的wmpub文件夹
论坛里点击别人帖子下面的回复,回复标题变成“回复 24# 的帖子”
利用计划任务和VBS脚本实现自动WEB共享文件夹里的文件
Oracle数据库返回cursor问题的解决方法
WordPress文章摘要小记
把1316这个数表示成两个数的和,其中一个为13的倍数,另一个是11的倍数,求这两个数。
XHTML入门学习教程:XHTML标签
记一次Oracle数据恢复过程
DOCTYPE和XHTML的相关认识
快速导航

Copyright © 2016 phpStudy | 皖ICP备18014864号-4