如何从文件末尾读取在线文件的最后一行

时间:2012-02-10 08:19:25

标签: java file-io

所有

我想知道如何快速阅读在线文件的最后一行,例如“http://www.17500.cn/getData/ssq.TXT”,

我知道RandomAccessFile类,但它似乎只能读取本地文件。有什么建议?? TKS提前。

1 个答案:

答案 0 :(得分:3)

你必须仔细阅读整个读者,并且只保留最后一行:

String line;
String lastLine = null;
while ((line = reader.readLine()) != null) {
    lastLine = line;
}
编辑:正如Joachim在评论中所说,如果您知道最后一行永远不会超过(例如)500字节,您可以将HTTP请求中的Range标头设置为-500,因此只下载最后500个字节。可以使用与上述相同的算法。

但是,如果编码是多字节的(如UTF-8),我不知道它是否能正确处理从多字节编码字符中间开始的流。使用ASCII或ISO-8859-1,您将不会遇到任何问题。

另请注意,服务器不会被强制遵守范围请求,并且可以返回整个文件。

httpConnection.setRequestProperty("Range","-500");
相关问题