我有一个文本文件的网址,我想阅读它:
URL url = new URL("example.com/textfile.txt");
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
String inpuline = null;
while ((inpuline = in.readLine()) != null) {
System.out.println(inpuline);
}
in.close();
问题是当我更改textfile.txt
的内容时,我的程序在下次运行时没有意识到更改。
答案 0 :(得分:1)
更改txt文件后,应验证服务器是否已实现更改并返回文件的最新版本。要验证这一点,请使用浏览器。如果您没有获得文件的最新版本,则服务器出现问题。如果您需要按Ctrl+F5
,则表示可能是某些代理或您的浏览器兑现了旧文件。
毕竟尝试以下变通办法可能会有所帮助:
try {
URL url = new URL("example.com/textfile.txt");
Scanner s = new Scanner(url.openStream());
// read from your scanner
}
catch(IOException ex) {
ex.printStackTrace(); // for now, simply output it.
}
如果再次获得文件的缓存版本,请尝试使用HttpURLConnection下载文件并将其写入临时文件。然后从该临时文件中读取,然后删除该临时文件。也许下载文件可以强制服务器获取该文件的最新版本。要避免文件的缓存版本,请尝试以下方法:
// Create a URLConnection object
URLConnection connection = myURL.openConnection();
// Disable caching
connection.setUseCaches(false);
祝你好运。