2012-04-02 3 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); 
... 
관련 문제