zoukankan      html  css  js  c++  java
  • 关于ftp的使用

      这是实习期间第二次写随笔,通过这种方式来总结自己这段时间所学的东西,希望能帮助到。

      FTP是文件传输协议,用于Internet上的控制文件的双向传输。也就是说,eclipse中的程序可以将本地的文件以及远程的文件相互连通,可以上传也可以下载。

     就以上传为例,这里写部分代码,

    public UploadStatus upload(FTPClient ftpclient,String localFilePath,String remoteFilePath) throws IOException{

    //必须要写的,这个方法的意思就是每次数据连接之前,ftp client告诉ftp server开通一个端口来传输数据。为什么要这样做呢,因为ftp server可能每次开启不同的端口来传输数

    //据,但是在linux上或者其他服务器上面,由于安全限制,可能某些端口没有开启,所以就出现阻塞。

    ftpclient.enterLocalPassiveMode();

    ftpclient.setFileType(FTP.BINARY_FILE_TYPE);//设定二进制传输

    ftpclient.setControlEncoding(DEFAULT_REMOTE_CHARSET);

    UploadStatus result;//上传状态对象

    String remoteFileName = remoteFilepath;//远程文件路径

    //分解远程路径,获得完整路径

    if(remoteFileName.contains("/"){

    remoteFileName = remoteFilePath.subString(remoteFilePath.lastIndexOf("/")+1);

    }

    FTPFile[] files = ftpClient.listFiles(new String(remoteFileName.getBytes(DEFAULT_REMOTE_CHARSET),DAFAULT_LOCAL_CHARSET));//

    if(files.length==1){

    long remotesize = file[0].getSize();

    File f = new File(localFilePath);

    long localsize = f.getSize();

    if(remotesize == localsize){

    //文件已经在本地存在,返回一个值

    }else if( remotesize>localsize){

    //文件不用上传,返回一个值

    }

    //(String,File,FTPClient,long)上传文件

    result = uploadFile(remoteFileName,f,ftpClient,remoteSize);

    }

    //上传失败,则删除远程文件后再上传一遍

    if(result==UploadStatus.Upload_From_Break_Failed){

    if(!ftpClient.deleteFile(remoteFileName)){

     return UploadStatus.Delete_Remote_Failed;

    }

    result = uploadFile(remoteFilePath,f,fileClient,0);

    }

    }else{

    //uploadFile方法不写了

    result = uploadFile(remoteFileName.noew file(localFilePath,ftpClient,0);

    }

    return result;

    }

  • 相关阅读:
    第二周例行报告
    洛谷 P3384 【模板】轻重链剖分
    洛谷 P3380 【模板】二逼平衡树(树套树)
    洛谷 P4568 [JLOI2011]飞行路线
    2018 ICPC Asia Nanjing Regional Preliminary L. Magical Girl Haze
    牛客 2020 牛客国庆集训派对 day8 G. Shuffle Cards
    洛谷 P3224 [HNOI2012]永无乡
    洛谷 P1486 [NOI2004]郁闷的出纳员
    洛谷 P3391 【模板】文艺平衡树
    洛谷 P3369 【模板】普通平衡树
  • 原文地址:https://www.cnblogs.com/bamaofan/p/4816134.html
Copyright © 2011-2022 走看看