我的java天地

java对ftp的操作

   由于项目需要用到对FTP上的文件进行上传下载等操作,先学习了一下。比较简单,下面来记录下步骤
一.先在另外机器上面安装一个FTP服务器,我选择的是SERV-U。这个比较好。先安装,然后设置FTP的IP,目录,用户名,密码,权限等,通过管理界面能很快速的进行配置OK

二.需要在工程的类路径上面加入一个JAR包ftp.jar

三.开始操作FTP上面的文件了

Java代码
  1. import  org.apache.commons.io.IOUtils;    
  2. import  org.apache.commons.net.ftp.FTPClient;    
  3.   
  4. import  java.io.File;    
  5. import  java.io.FileInputStream;    
  6. import  java.io.IOException;    
  7. import  java.io.FileOutputStream;    
  8.   
  9. /**   
  10.  
  11. */     
  12. public   class  FtpTest {    
  13.      public   static   void  main(String[] args) {    
  14.         testUpload();    
  15.          //testDownload();    
  16.     }    
  17.   
  18.      /**   
  19.      * FTP上传单个文件测试   
  20.      */     
  21.      public   static   void  testUpload() {    
  22.         FTPClient ftpClient =  new  FTPClient();    
  23.         FileInputStream fis =  null ;    
  24.   
  25.          try  {    
  26.             ftpClient.connect( "172.20.82.227" );    
  27.             ftpClient.login( "oracle" "oracle" );    
  28.             File srcFile =  new  File( "E:/apache+tomcat.zip" );    
  29.             fis =  new  FileInputStream(srcFile);    
  30.              //设置上传目录    
  31.             ftpClient.changeWorkingDirectory( "/home/oracle" );    
  32.             ftpClient.setBufferSize( 1024 );    
  33.             ftpClient.setControlEncoding( "GBK" );    
  34.              //设置文件类型(二进制)    
  35.             ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);    
  36.             ftpClient.storeFile( "apache+tomcat.zip" , fis);    
  37.             System.out.println( "成功!" );   
  38.         }  catch  (IOException e) {    
  39.             e.printStackTrace();    
  40.              throw   new  RuntimeException( "FTP客户端出错!" , e);    
  41.         }  finally  {    
  42.             IOUtils.closeQuietly(fis);    
  43.              try  {    
  44.                 ftpClient.disconnect();    
  45.             }  catch  (IOException e) {    
  46.                 e.printStackTrace();    
  47.                  throw   new  RuntimeException( "关闭FTP连接发生异常!" , e);    
  48.             }    
  49.         }    
  50.     }    
  51.   
  52.      /**   
  53.      * FTP下载单个文件测试   
  54.      */     
  55.      public   static   void  testDownload() {    
  56.         FTPClient ftpClient =  new  FTPClient();    
  57.         FileOutputStream fos =  null ;    
  58.   
  59.          try  {    
  60.             ftpClient.connect( "192.168.14.117" );    
  61.             ftpClient.login( "admin" "123" );    
  62.   
  63.             String remoteFileName =  "/admin/pic/3.gif" ;    
  64.             fos =  new  FileOutputStream( "c:/down.gif" );    
  65.   
  66.             ftpClient.setBufferSize( 1024 );    
  67.              //设置文件类型(二进制)    
  68.             ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);    
  69.             ftpClient.retrieveFile(remoteFileName, fos);    
  70.         }  catch  (IOException e) {    
  71.             e.printStackTrace();    
  72.              throw   new  RuntimeException( "FTP客户端出错!" , e);    
  73.         }  finally  {    
  74.             IOUtils.closeQuietly(fos);    
  75.              try  {    
  76.                 ftpClient.disconnect();    
  77.             }  catch  (IOException e) {    
  78.                 e.printStackTrace();    
  79.                  throw   new  RuntimeException( "关闭FTP连接发生异常!" , e);    
  80.             }    
  81.         }    
  82.     }   
  83.        
  84. }   

 

posted on 2009-07-25 21:45 tobyxiong 阅读(236) 评论(0)  编辑  收藏 所属分类: java


只有注册用户登录后才能发表评论。


网站导航:
 
<2009年7月>
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678

导航

统计

常用链接

留言簿(3)

随笔分类(144)

随笔档案(157)

相册

最新随笔

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜