Java的。从FTP读取文件但不要整体下载

时间:2010-05-14 14:11:55

标签: java file ftp stream

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

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

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

1 个答案:

答案 0 :(得分:13)

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

假设您正在使用Apache Commons Net FTPClient

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);