如何使用Java从internet获取文件并读取它?

如何使用Java从internet获取文件并读取它?,java,Java,我正在尝试制作一个在运行时更新的变更日志,现在,我想从我的网站下载变更日志,然后显示它。 我该怎么做 顺便说一句,我只想读取文件(类似于当浏览器问你你想保存还是运行这个文件?,而不是保存它时) 谢谢。您可以按如下方式从Java中的URI打开输入流。根据您的需要,将InputStreamReader替换为其他实现。拥有读取器后,您应该能够从流中读取数据 InputStream stream = new URI('http://path-to-file').toURL().openStream();

我正在尝试制作一个在运行时更新的变更日志,现在,我想从我的网站下载变更日志,然后显示它。 我该怎么做

顺便说一句,我只想读取文件(类似于当浏览器问你
你想保存还是运行这个文件?
,而不是保存它时)


谢谢。

您可以按如下方式从Java中的URI打开输入流。根据您的需要,将
InputStreamReader
替换为其他实现。拥有读取器后,您应该能够从流中读取数据

InputStream stream = new URI('http://path-to-file').toURL().openStream();
BufferedReader r = new BufferedReader(new InputStreamReader(stream));
String content = "";
while((content = r.readLine()) != null) {
System.out.println(content); // you can put custom logic here.
}

看看jsoup吧,它是一款无头浏览器,可以从你的浏览器中提取htmlwebpage@Matt我知道我也可以使用selenium。但这次我想用基本Java来实现这一点(我不想使用任何其他东西,因为尽管在这个规模下仍然是有效的,但这不是最有效的方式)。这似乎是可行的(?),但如果我写
r.toString()
这是java.io的输出。InputStreamReader@aa549e5尝试使用
BufferedReader
。我已经更新了答案。如果您愿意使用Apache commons,您也可以尝试使用
IOUtils.toString(stream)
来简化。@A.Dato,您可以接受答案吗?