【发布时间】:2011-02-19 13:21:14
【问题描述】:
我需要从 FTP 读取 CSV 文件头。
由于这些文件可能非常大,我不需要下载它们。
有没有办法从 FTP 读取 CSV 文件的第一行并中止连接?
【问题讨论】:
我需要从 FTP 读取 CSV 文件头。
由于这些文件可能非常大,我不需要下载它们。
有没有办法从 FTP 读取 CSV 文件的第一行并中止连接?
【问题讨论】:
只读取第一行,忽略剩余部分并关闭流。智能 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);
【讨论】: