• java使用FTPClient实现文件的上传和下载


    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.util.Calendar;
    import java.util.Date;
    
    import org.apache.commons.io.IOUtils;
    import org.apache.commons.net.ftp.FTPClient;
    
    
    public class UploadByFTP {//就别介意名字为什么只写了Upload了,这不重要→_→
      //上传方法
      public static Msg FTPUpload(){
        FTPClient ftpClient=new FTPClient();
        FileInputStream fis=null;
        try {
          ftpClient.connect("192.168.1.11");//服务器端的地址
          ftpClient.login("admin", "123");//连接时的用户名和密码(在服务器端设置)
          //上传文件所在地址
          File srcFile=new File("C:\zc.xls");
          fis=new FileInputStream(srcFile);
          //定义要上传到的路径
          String lj="/admin/test";
          //生成路径(一定要生成路径,不然如果路径不存在的话,怎么传都只会传到根目录下)
          ftpClient.makeDirectory(lj);
          //更改工作空间(就是设定路径)
          ftpClient.changeWorkingDirectory(lj);
          ftpClient.setBufferSize(1024);
          ftpClient.setControlEncoding("Utf-8");
          //设置文件类型(二进制)
          ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
          //参数1是文件名(一定要后缀)
          ftpClient.storeFile("hhh.xls", fis);
         } catch (Exception e) {
          return MsgUtil.getFailMsg("FTP客户端出错!",null);
         } finally{
          IOUtils.closeQuietly(fis);
          try {
            ftpClient.disconnect();
          } catch (IOException e) {
            return MsgUtil.getFailMsg("关闭FTP连接发生异常!",null);
          }
        }
      }

     

        //下载
      public static void FTPDownload(){
        FTPClient ftpClient=new FTPClient();
        FileOutputStream fos=null;
        try {
          ftpClient.connect("192.168.1.11");
          ftpClient.login("admin", "123");
          //文件在服务器的路径
          String remoteFileName="/admin/test/hhh.xlsx";
          //文件下载后保存的位置
          fos=new FileOutputStream("C:\test.xlsx");
          ftpClient.setBufferSize(1024);
          //设置文件类型(二进制)
          ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
          ftpClient.retrieveFile(remoteFileName, fos);
        } catch (Exception e) {
          e.printStackTrace();
          throw new RuntimeException("FTP客户端出错!",e);
        }finally{
          IOUtils.closeQuietly(fos);
          try {
            ftpClient.disconnect();
          } catch (IOException e) {
            e.printStackTrace();
            throw new RuntimeException("关闭FTP连接发生异常!",e);
          }
        }
      }
       //测试   public static void main(String[] args) {     FTPUpload();     FTPDownload();   } }

     

     

     

    用到的包

  • 相关阅读:
    POJ2155 Matrix
    POJ3469 Dual Core CPU
    洛谷P1469找筷子
    CodeForces 97D. Robot in Basement
    UVa11542 Square
    清澄 A1485. Catch The Penguins 抓企鹅
    Bzoj2595: [Wc2008]游览计划
    HDU4085 Peach Blossom Spring
    CodeForces 333E. Summer Earnings
    洛谷P3389 【模板】高斯消元法
  • 原文地址:https://www.cnblogs.com/IceBlueBrother/p/8421990.html
Copyright © 2020-2023  润新知