• Java调用FTP实例


     1 package com.test;
     2 
     3 import java.io.File;
     4 import java.io.FileInputStream;
     5 import java.io.FileOutputStream;
     6 import java.io.IOException;
     7 import java.io.InputStream;
     8 import java.io.OutputStream;
     9 import java.net.SocketException;
    10 import java.net.UnknownHostException;
    11 
    12 import org.apache.commons.net.ftp.FTP;
    13 import org.apache.commons.net.ftp.FTPClient;
    14 import org.apache.commons.net.ftp.FTPFile;
    15 
    16 public class FtpClientTest {
    17 
    18     /**
    19      * @param args
    20      * @throws SocketException 
    21      * @throws IOException 
    22      * @throws UnknownHostException 
    23      */
    24     public static void main(String[] args) throws SocketException, IOException{
    25         // TODO Auto-generated method stub
    26         String host = "192.168.0.107" ;
    27         String user = "ftpClient" ;
    28         String pass = "ftp123" ;
    29         up(host, 21, user, pass) ;
    30     }
    31     static void load(String host ,int port ,String user ,String pass){
    32         FTPClient client =     new FTPClient() ;
    33         try {
    34             client.connect(host,port) ;
    35             boolean flag = client.login(user, pass) ;
    36             if(flag){
    37                 /**
    38                  * ASCII传输方式 假定用户正在拷贝的文件包含的简单ASCII码文本,
    39                  * 如果在远程机器上运行的不是UNIX,当文件传输时ftp通常会自动地调整文件的内容以便于把文件解释成另外那台计算机存储文本文件的格式。
    40                  * 但是常常有这样的情况,用户正在传输的文件包含的不是文本文件,它们可能是程序,数据库,字处理文件或者压缩文件,这回导致文件损坏
    41                  */
    42                 //设置采用二进制传输方式下载,若采用默认的ascii传输方式下载可能导致文件损失
    43                 client.setFileType(FTP.BINARY_FILE_TYPE);
    44                 //切换当前目录到xx
    45                 client.changeWorkingDirectory("/20170806") ;
    46                 FTPFile[] ftpFiles = client.listFiles() ;
    47                 OutputStream out = null ;
    48                 int i = 1 ;
    49                 for(FTPFile f:ftpFiles){
    50                     File file = new File("G:/ftp/") ;
    51                     if(!file.exists())
    52                         file.mkdirs() ;
    53                     file = new File(file, new String(f.getName().getBytes("iso-8859-1"),"GBK")) ;
    54                     out = new FileOutputStream(file) ;
    55                     client.retrieveFile(f.getName(), out) ;
    56                     out.close() ;
    57                     i++ ;
    58                 }
    59             }
    60         } catch (SocketException e) {
    61             // TODO Auto-generated catch block
    62             e.printStackTrace();
    63         } catch (IOException e) {
    64             // TODO Auto-generated catch block
    65             e.printStackTrace();
    66         }
    67     } 
    68     static void up(String host ,int port ,String user ,String pass){
    69         FTPClient client =     new FTPClient() ;
    70         try {
    71             client.connect(host,port) ;
    72             boolean flag = client.login(user, pass) ;
    73             if(flag){
    74                 client.setFileType(FTP.BINARY_FILE_TYPE);
    75                 //切换工作目录
    76                 client.changeWorkingDirectory("/20170806") ;
    77                 InputStream in = new FileInputStream("E:/周报/个人周报.xlsx") ;
    78                 client.storeFile("1234.xlsx", in) ;
    79             }
    80         } catch (SocketException e) {
    81             // TODO Auto-generated catch block
    82             e.printStackTrace();
    83         } catch (IOException e) {
    84             // TODO Auto-generated catch block
    85             e.printStackTrace();
    86         }
    87     }
    88 }
  • 相关阅读:
    css雪碧图生成工具4.3更新
    移动端webapp自适应实践(css雪碧图制作小工具实践)图文并茂
    css雪碧图生成工具4.2更新
    手机端页面rem自适应脚本
    css雪碧图生成工具4.1更新
    V4.0到来了,css雪碧图生成工具4.0更新啦
    css sprite,css雪碧图生成工具V3.0更新
    css sprite css雪碧图生成工具
    CSS3 Loading(加载)动画效果
    js new
  • 原文地址:https://www.cnblogs.com/hfblogs/p/7381988.html
Copyright © 2020-2023  润新知