gpt4 book ai didi

java - 使用 java Streams 读取服务器上文本文件的最新版本(不是缓存版本)

转载 作者:行者123 更新时间:2023-12-01 11:21:54 24 4
gpt4 key购买 nike

我有一个文本文件的 URL,我想读取它:

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 的内容时,我的程序在下次运行时无法意识到更改。

最佳答案

更改 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);

祝你好运。

关于java - 使用 java Streams 读取服务器上文本文件的最新版本(不是缓存版本),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31127709/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com