java从url下载文件_Java从URL下载文件
在這篇文章中將學(xué)習(xí)如何從java下載URL中的文件。使用java.net.URL openStream()方法從java程序中的URL下載文件。也可以使用Java NIO Channels或Java IO InputStream從URL打開(kāi)流中讀取數(shù)據(jù),然后將它保存到文件中。
下面是從指定URL下載的簡(jiǎn)單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:在這個(gè)從URL下載java文件的方法中,使用URL openStream方法來(lái)創(chuàng)建輸入流。然后使用文件輸出流從輸入流中讀取數(shù)據(jù)并寫入文件。
downloadUsingNIO:在這個(gè)URL方法的下載文件中,從URL流數(shù)據(jù)創(chuàng)建字節(jié)通道。然后使用文件輸出流將其寫入文件。
可以使用這些方法中的任何一種從java程序中的URL下載文件。如果提高性能,那么使用這兩種方法時(shí)需要進(jìn)行一些具體的分析,看看哪些適合您的需求。
¥ 我要打賞
糾錯(cuò)/補(bǔ)充
收藏
加QQ群啦,易百教程官方技術(shù)學(xué)習(xí)群
注意:建議每個(gè)人選自己的技術(shù)方向加群,同一個(gè)QQ最多限加 3 個(gè)群。
總結(jié)
以上是生活随笔為你收集整理的java从url下载文件_Java从URL下载文件的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 久吾高科是国企吗
- 下一篇: java美元兑换,(Java实现) 美元