【问题标题】:Java. Read file from FTP but DON'T download it whole爪哇。从 FTP 读取文件,但不要全部下载
【发布时间】:2011-02-19 13:21:14
【问题描述】:

我需要从 FTP 读取 CSV 文件头。

由于这些文件可能非常大,我不需要下载它们。

有没有办法从 FTP 读取 CSV 文件的第一行并中止连接?

【问题讨论】:

    标签: java file ftp stream


    【解决方案1】:

    只读取第一行,忽略剩余部分并关闭流。智能 FTP 客户端在提供任何内容供读取之前不会在内存中缓冲 整个 流。

    假设您使用的是Apache Commons NetFTPClient

    BufferedReader reader = null;
    String firstLine = null;
    
    try {
        InputStream stream = ftpClient.retrieveFileStream(ftpFile.getName());
        reader = new BufferedReader(new InputStreamReader(stream, "UTF-8"));
        firstLine = reader.readLine();
    } finally {
        if (reader != null) try { reader.close(); } catch (IOException logOrIgnore) {}
    }
    
    doYourThingWith(firstLine);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-08-20
      • 1970-01-01
      • 1970-01-01
      • 2013-04-07
      • 1970-01-01
      • 2015-01-19
      • 2020-07-22
      • 1970-01-01
      相关资源
      最近更新 更多