美文网首页
FTP上传下载问题

FTP上传下载问题

作者: 墨色尘埃 | 来源:发表于2019-08-20 15:27 被阅读0次

连接、登陆、登陆之后取得登陆状态(成功、失败)
如果登陆失败,则关闭ftp连接。
登陆成功之后,跳转到目录下 ftpClient.changeWorkingDirectory("/" + rootPath + "/" + filePath);
目标文件和该目录下的所有文件进行比较
但是有一个问题,就是文件很多的话,这样一比较会导致很慢很慢,性能不好。所以这里直接就省去了这一步骤。

FTPFile[] fs = ftpClient.listFiles();  //当天目录下文件太多的话,导致读取很慢
for (FTPFile ff : fs) {
    String f = new String(ff.getName().getBytes(Charset.forName("ISO-8859-1")), Charset.forName("GBK"));
    if (f.equals(fileName)) {
        InputStream inputStream = ftpClient.retrieveFileStream(ff.getName());
    }
}

读取文件采用ftpClient.retrieveFileStream有问题,具体待研究
所以采用下面这种方式读取文件流

 ByteArrayOutputStream byteArrayOutputStream =new ByteArrayOutputStream();
 ftpClient.retrieveFile(fileName, byteArrayOutputStream);
 InputStream inputStream = byteArrayOutputStream.toInputStream();

将读出来的IO流写入压缩包中,直接返回压缩包流回去,前端会直接下载下来。
进入文件目录的时候,尤其要注意:使用的是绝对路径还是相对路径

注:使用FTP上传下载文件,服务器端口会被大量占用,关于计算机端口:
服务器端口数量

相关文章

  • Ftp上传下载文件的Demo

    Ftp上传下载文件:

  • FTP协议实现上传和下载

    FTP协议上传下载 tags: java 简介 FTP 是File Transfer Protocol(文件传输协...

  • FTP上传下载问题

    连接、登陆、登陆之后取得登陆状态(成功、失败)如果登陆失败,则关闭ftp连接。登陆成功之后,跳转到目录下 ftpC...

  • java-ftp上传和下载工具类2018-07-23

    ftp上传下载 importjava.io.File; importjava.io.FileInputStream...

  • 工具推荐

    Java系IDE IDEA FTP上传下载 FileZilla 数据库 Navicat Markdown Typora

  • python ftp

    ftp 基础命令 ftplib python命令 函数式上传、下载 类封装,上传下载目录树

  • 记一次commons-net FTP上传下载卡死

    在利用apache的commons-net包,做FTP上传下载时,碰到了一个问题:在默认配置下,传输大文件会卡死。...

  • python paramiko

    使用paramiko库实现FTP功能上传下载文件 import paramiko transport = para...

  • Yummy FTP Pro for Mac 2.0.5 中文破解

    Yummy FTP 是Mac上一款优秀的FTP文件上传下载工具,今天和大家分享最新的 2.0.5 专业中文版本,支...

  • 2019-03-26

    最近开发即时通讯中使用FTP文件上传下载。遇到很莫名问题。起初开发是在内网中使用也是使用FTPManage这个第三...

网友评论

      本文标题:FTP上传下载问题

      本文链接:https://www.haomeiwen.com/subject/lmjpsctx.html