当前位置:   article > 正文

FTPClient中使用retrieveFileStream方法的正确姿势_ftpclient.retrievefilestream

ftpclient.retrievefilestream

FTPClient中使用retrieveFileStream方法的正确姿势

方法说明
[接口文档地址](https://commons.apache.org/proper/commons-net/apidocs/org/apache/commons/net/ftp/FTPClient.html)
  • 1
  • 2
/**
* 获取文件流
* 返回一个InputStream,从中可以读取服务器中的命名文件。
* 如果当前文件类型为ASCII,则返回的InputStream会将文件中的行分隔符转换为本地表示形式。
* 当您完成对InputStream的读取时,必须关闭它。InputStream本身将负责在关闭时关闭父数据连接套接字。
* 要完成文件传输,必须调用completePendingCommand并检查其返回值以验证是否成功。
* 如果不这样做,后续命令可能会出现意外行为。
*
* @param fileName 文件名
* @return 文件流
*/
public InputStream retrieveFileStream(String remote) throws IOException {
        return this._retrieveFileStream(FTPCmd.RETR.getCommand(), remote);
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
使用示例
  • 1
/**
* 获取ftp文件流转为文件
*
* @return 文件列表
*/
public List<File> getFile() {
        FtpUtil ftpUtil = new FtpUtil(ftpProperty);
        String remotePath = "test";
      	List<File> files = Lists.newArrayList();
        FTPFile[] ftpFiles = ftpUtil.listFiles(remotePath);
        for (FTPFile ftpFile : ftpFiles) {
            //切换路径
            ftpUtil.changeWorkingDirectory(remotePath);
            String name = ftpFile.getName();
            log.info(name);
            //获取文件流
            InputStream inputStream = ftpUtil.retrieveFileStream(name);
            log.info("inputStream:{}", inputStream);
            //写入到文件
            File file = new File(name);
            File file1 = FileUtil.writeFromStream(inputStream, file);
            files.add(file1);
            try {
                //关闭流
                inputStream.close();
                ftpUtil.completePendingCommand();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        return files;
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号