2012-04-02 40 views
0

我讀從中相當頻繁改變站點的遠程文本文件,使用此代碼:爪哇 - 讀從網頁中的文本文件,有時不能正確更新

URL url = new URL(sourceAddress); 
BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream())); 
while ((line = reader.readLine()) != null) { 
    retrievedText += line+lineBreak; 
} 
reader.close(); 

現在我的問題是,當我閱讀這個文本時,即使在源文本文件改變之後它也不會改變(它還沒有上傳)。即使應用程序重新啓動也不會返回「最新」文本。奇怪的是,如果我在瀏覽器中打開上述文本文件並點擊刷新,下次我的Java應用程序輪詢文件時,它將檢索最新內容 - 即使應用程序完全關閉。

這使我相信這可能是一些緩存問題,但我完全不知道如何解決它。

任何幫助和/或建議非常感謝!

回答

0

您可以嘗試添加一個參數,例如「& _ =」+ System.currentTimeMillis()以避免緩存(如果它發生在中間某處,例如在代理服務器上)。

1

您也可以嘗試禁用緩存:

URL url = new URL(sourceAddress); 
urlConn = url.openConnection(); 
urlConn.setUseCaches(false); 
InputStreamReader stream = new InputStreamReader(url.openStream()); 
BufferedReader reader = new BufferedReader(stream); 
...