0

我需要做的基本上是读取一个不断增长的文件,但在每个间隔中我只想读取附加到文件的文件。

我找到了很多方法来处理我的文件系统上的文件,但所有这些都要求我先下载文件,然后才能使用-Object来做魔法。RandomAccessFile

有没有办法使用像http://myurl.com/123.txt这样的在线文件来做到这一点?所以我只是流式传输最后 2 分钟添加的数据?

非常感谢!噪音

4

1 回答 1

1

如果服务器支持它,您可以使用Range标头从给定偏移量请求字节。重复执行此操作以轮询文件以获取新字节。

伪代码:

long offset = 0;
while (true) {
    request.setHeader("Range: bytes=" + offset + "-");
    request.send();
    request.readResponse();
    offset += theNumberOfBytesRead;
    Thread.sleep(someRespectfulAmountOfTime);
}

有关如果服务器有或没有更多可用字节,服务器可能如何响应的详细信息,请参阅此问题。

要获取“最近 2 分钟内添加的数据”,您必须跟踪offset两分钟前的内容。

于 2013-10-20T11:10:02.790 回答