对Java的两个FTP包进行比较分析

发表于:2009-9-18 10:27

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:网络转载

#
java

  1、sun.net.ftp.*;

  这是一个不被官方支持的,但是放在JDK下面的FTP包。正因为不被支持,所以没有官方提供API,这是其最大的缺陷之一。最重要由于不是官方支持的,所以文档也是没有的http://swig.stanford.edu/pub/java/javadoc/overview-summary.html这里有该包的API。

  先给一个简单的例子:(例子来源互联网)

  1)显示FTP服务器上的文件

  void ftpList_actionPerformed(ActionEvent e) {
  String server=serverEdit.getText();//输入的FTP服务器的IP地址
  String user=userEdit.getText(); file://登/录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) {;}
  }

31/3123>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号