赛迪网 > IT技术 Java > 技术动态
  IT资讯搜索
 
IT产品搜索
[程序开发][网管世界][网络安全][数据库技术]
[操作系统][嘉宾聊天·在线访谈][活动集锦]
[精彩专题][Symantec专区][订阅IT技术周刊]
[开发论坛][网管论坛][安全论坛][数据库论坛]
[操作系统论坛][Sybase专区][IBM dW技术专区]
[病毒求助][病毒与漏洞播报][文档·源码下载]

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

发布时间:2008.10.13 16:31     来源:赛迪网    作者:szbdqn

【赛迪网-技术社区整理】FtpList部分是用来显示FTP服务器上的文件;GetButton部分为从FTP服务器下传一个文件;PutButton部分为向FTP服务器上传一个文件。

别忘了在程序中还要引入两个库文件(importsun.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 {
    FtpClientftpClient=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) {;}
   }
  }

(责任编辑:董建伟)


[ 发表评论 ] 字体[  ] [ 打印 ] [ 进入博客 ] [ 进入论坛 ]  [ 推荐给朋友 ]
  相关文章
· Java开发应用软件JCreator的使用技巧介绍 (10-13) · 关于提高Java代码可以重用性的三个措施 (10-13)
· 简单介绍Java语言中内存管理的几个技巧 (10-09) · java对String字符串对象的创建以及管理 (10-07)
· J2EE基础应用:J2EE中SQL语句自动构造方法 (09-28) · 国庆前需警惕:FTP傀儡利用浏览器下载病毒 (09-27)
· Java应用:编写高级JavaScript应用代码 (09-26) · 资料分享:Java开发中该注意的一些东西 (09-25)
· Java安全:运用加密技术保护Java源代码 (09-24) · 网友分享:认识java JVM与c/c++的执行效率 (09-23)
  客户需求反馈表
* 姓  名:
更多资料  了解方案  认识厂商
* 单位名称:
* 联系电话:
* 电子邮件:
  赛迪推荐  
  手机·资费 ·新品·导购·评测·手机资费·宽带
手机搜索  诺基亚 N73 MOTO Z6
  IT产品 ·笔记本·台式机·服务器·打印·投影
IT产品搜索 
  IT技术 ·开发·网管·安全·数据库·操作系统
  信息化 ·热点·专题·访谈·周刊·方案案例
· 电子商务盈利新招:垂直化渠道管理新趋势
· 互联网加速蜕变 运营商进军搅动市场格局
· 08 IT技术风起云涌 专访 ITIL落地难在哪
· 视频加密保护解决方案 文档安全解决方案
  IT博客 ·曾剑秋·项立刚·Java学习·网管
  IT技术论坛 ·开发·网管·安全·数据库·系统