Java. Read file from FTP but DON'T download it whole
I need to read CSV file header from FTP.
As these files can be very huge, I don't开发者_如何学Go need to download them.
Is there a way to read first line of CSV file from FTP and abort connection?
Just read only the first line, ignore the remnant and close the stream. A smart FTP client won't buffer the entire stream in memory before providing anything for read.
Assuming you're using 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);
精彩评论