当前位置: 首页 > 知识库问答 >
问题:

如何使用Java从Internet下载和保存文件?

苏鸿羽
2023-03-14

有一个联机文件(如http://www.example.com/information.asp)我需要抓取并保存到目录中。我知道有几种方法来抓取和读取在线文件(URL),逐行,但有没有一种方法只是下载和保存文件使用Java?

共有1个答案

蒋波光
2023-03-14

让Java尼奥试试:

URL website = new URL("http://www.website.com/information.asp");
ReadableByteChannel rbc = Channels.newChannel(website.openStream());
FileOutputStream fos = new FileOutputStream("information.html");
fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);

使用transfrom()可能比从源通道读取并写入此通道的简单循环效率高得多。许多操作系统可以直接将字节从源通道传输到文件系统缓存中,而不需要实际复制它们。

在这里查看更多关于它的信息。

注意:transfrom中的第三个参数是要传输的最大字节数。integer.max_value最多传输2^31个字节,long.max_value最多允许传输2^63个字节(大于现有任何文件)。

 类似资料:
  • 问题内容: http://www.example.com/information.asp我需要获取一个在线文件(例如),并将其保存到目录中。我知道有几种方法可以逐行捕获和读取在线文件(URL),但是有没有一种方法可以使用Java下载和保存文件? 问题答案: 可以使用 Java NIO : 使用是可能不是一个简单的循环从源信道的读取和写入这个频道有效得多。许多操作系统可以直接将字节从源通道传输到文件

  • 问题内容: 感谢使用此线程如何使用Java从Internet下载和保存文件? 我知道如何下载文件,现在的问题是我需要在我要下载的服务器上进行身份验证。这是Subversion服务器的http接口。我需要查询哪个领域? 使用最后一条评论中发布的代码,我得到了这个异常: 谢谢, 问题答案: 您扩展Authenticator类并进行注册。链接上的javadocs解释了如何。 我不知道这是否可以通过nio

  • 问题内容: 我有一个后端API,它在我们调用它时基本上会下载一个模板。我在html页面上提供了href,因此,每当有人单击该href时,它就会调用后端API,并且应该下载该文件。 但是该文件未下载。 我正在使用React。如果我只是从浏览器访问后端,则文件将被下载,但是如果我从react调用,则不会。 有线索吗? 反应代码: 后端API代码: 问题答案: JS中的请求与访问浏览器中的URL不同。您

  • 我需要使用Excel中的VBA从网站下载CSV文件。服务器还需要对我进行身份验证,因为这是来自调查服务的数据。 我发现了很多使用VBA控制的Internet Explorer的示例。然而,它大多是缓慢的解决方案,而且大多数也很复杂。 更新:过了一会儿,我发现了一个使用Microsoft的漂亮解决方案。Excel中的XMLHTTP对象。我想分享下面的解决方案以供将来参考。

  • 问题内容: 我需要从GridFS下载简历,以下是为此目的编写的代码ive,但这似乎并没有给我提供下载的物理文件,而是用于读取内容的。如何下载文件? 问题答案: 希望这可以帮助!