java 从url下载文件_Java从URL下载文件

本文展示了如何使用Java从URL下载文件,包括使用java.net.URL的openStream()方法结合传统IO流以及使用Java NIO的ReadableByteChannel进行下载。两种方法分别通过BufferedInputStream和FileOutputStream以及ReadableByteChannel和FileOutputStream实现数据的读取和保存。
摘要由CSDN通过智能技术生成

Java从URL下载文件

使用java.net.URL openStream()方法从java程序中的URL下载文件。也可以使用Java NIO Channels或Java IO InputStream从URL打开流中读取数据,然后将它保存到文件中。

下面是从指定URL下载的简单Java程序。它演示了如何在java中从指定URL下载文件的两种方法。

import java.io.BufferedInputStream;

import java.io.FileOutputStream;

import java.io.IOException;

import java.net.URL;

import java.nio.channels.Channels;

import java.nio.channels.ReadableByteChannel;

public class JavaDownloadFileFromURL {

public static void main(String[] args) {

String url = "https://www.yiibai.com/index.html";

try {

downloadUsingNIO(url, "D:/users/maxsu/sitemap.xml");

downloadUsingStream(url, "D:/users/maxsu/sitemap_stream.xml");

} catch (IOException e) {

e.printStackTrace();

}

}

private static void downloadUsingStream(String urlStr, String file) throws IOException{

URL url = new URL(urlStr);

BufferedInputStream bis = new BufferedInputStream(url.openStream());

FileOutputStream fis = new FileOutputStream(file);

byte[] buffer = new byte[1024];

int count=0;

while((count = bis.read(buffer,0,1024)) != -1)

{

fis.write(buffer, 0, count);

}

fis.close();

bis.close();

}

private static void downloadUsingNIO(String urlStr, String file) throws IOException {

URL url = new URL(urlStr);

ReadableByteChannel rbc = Channels.newChannel(url.openStream());

FileOutputStream fos = new FileOutputStream(file);

fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);

fos.close();

rbc.close();

}

}

downloadUsingStream:在这个从URL下载java文件的方法中,使用URL openStream方法来创建输入流。然后使用文件输出流从输入流中读取数据并写入文件。

downloadUsingNIO:在这个URL方法的下载文件中,从URL流数据创建字节通道。然后使用文件输出流将其写入文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值