Java - 从网页读取文本文件有时无法正确更新

标签 java

我正在使用以下代码从经常更改的站点读取远程文本文件:

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

现在我的问题是,当我阅读此文本时,即使源文本文件更改(它尚未仍在上传),它也不会更改。即使应用程序重新启动也不会返回“最新”文本。

奇怪的是,如果我在浏览器中打开上述文本文件并点击刷新,下次我的 Java 应用程序轮询该文件时,它将检索最新内容 - 即使应用程序完全关闭。

这让我相信这可能是一些缓存问题,但我完全不知道如何解决它。

非常感谢任何帮助和/或建议!

最佳答案

您还可以尝试禁用缓存:

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

关于Java - 从网页读取文本文件有时无法正确更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9979782/

相关文章:

java - WAS 中间歇性发生 SSL 证书链接错误

java - Camunda:不能施放(同一类)

java - GAE 上的 Spring 4.2.1 和 java.util.ResourceBundle$Control 是受限类

java - 单元测试如何使用 Mockito 模拟存储库

java - 使用 Java 显示 CMD 窗口

java - 使用 slf4j 和任何其他日志框架进行日志记录 (log4j/java.util.logging)

java - Intellij IDEA 中的 2 个 java 项目有什么区别? - 无法刷新 Gradle

java - 在最后一个构造函数结束后调用方法

java - 带有 UTC 时间的进度条

java - Android 监听器是某种设计模式吗?