2013-10-20 63 views
0

我需要做的是基本上讀取一個不斷增長的文件,但在每個時間間隔中,我只想讀取附加到文件的通過使用Java的HTTP連續讀取文件

我發現了很多辦法與我的文件系統文件要做到這一點,但所有這些都需要我下載的文件之前,我可以使用RandomAccessFile -object做魔術

有沒有辦法做到這一點,像http://myurl.com/123.txt在線文件?所以我只是在最近2分鐘內添加數據?

非常感謝! noise

+0

此文件是否在您擁有的服務器中託管? – Cratylus

+0

沒有。我對服務器或文件沒有影響。我只知道鏈接。 – newnoise

回答

1

如果服務器支持它,則可以使用Range標頭從給定的偏移量請求字節。重複執行此操作以輪詢文件以查找新字節。

僞代碼:

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

this question有關服務器可能會如何,如果它發生或不具有多個字節可用響應的細節。

要獲得「最近2分鐘內添加的數據」,您必須跟蹤兩分鐘前的offset

+0

非常感謝。這工作完美 – newnoise