2
全部结束:如何阅读在线文件的最后一行,从文件
我想知道如何快速读取在线文件的最后一行,例如“http:// WWW。 17500.cn/getData/ssq.TXT“,
我知道RandomAccessFile类,但它似乎只能读取本地文件。任何建议? TKS提前。
全部结束:如何阅读在线文件的最后一行,从文件
我想知道如何快速读取在线文件的最后一行,例如“http:// WWW。 17500.cn/getData/ssq.TXT“,
我知道RandomAccessFile类,但它似乎只能读取本地文件。任何建议? TKS提前。
你必须在整个阅读器来阅读,而只保留最后一行:
String line;
String lastLine = null;
while ((line = reader.readLine()) != null) {
lastLine = line;
}
编辑:作为勒夫说,在他的评论,如果你知道最后一行永远不会长于(例如)500字节,您可以将HTTP请求中的Range标头设置为-500,因此只能下载最后500个字节。可以使用与上述相同的算法。
但是,我不知道,如果它将正确处理从多字节编码字符中间开始的流(如果编码是多字节的话)(如UTF-8)。使用ASCII或ISO-8859-1,您不会有任何问题。
另请注意,服务器不是被迫遵守范围请求,并可能返回整个文件。
httpConnection.setRequestProperty("Range","-500");
如果您可以对最后一行的最大大小做出有根据的猜测,那么您可能会比这更有效率,尤其是对于大文件。 – 2012-02-10 08:32:41
zh。这是唯一的方法吗?如果文件非常大,这可能会浪费太多时间 – 2012-02-10 08:45:58
请参阅我的编辑答案。有关更多详细信息,请参阅http://tools.ietf.org/html/rfc2616#section-14.35.1。 – 2012-02-10 08:49:38