91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

Java下載文件的方式有哪些

小億
118
2023-08-08 09:20:49
欄目: 編程語言

Java下載文件的方式有以下幾種:

  1. 使用URL類進行文件下載:可以使用java.net.URL類打開輸入流并讀取文件內容,然后使用輸出流保存文件。
URL url = new URL(fileUrl);
InputStream in = url.openStream();
OutputStream out = new FileOutputStream(savePath);
byte[] buffer = new byte[4096];
int bytesRead;
while ((bytesRead = in.read(buffer)) != -1) {
out.write(buffer, 0, bytesRead);
}
in.close();
out.close();
  1. 使用Apache HttpClient庫進行文件下載:Apache HttpClient庫提供了更為方便的方法來處理HTTP請求和響應,其中包括文件下載功能。
CloseableHttpClient httpClient = HttpClients.createDefault();
HttpGet httpGet = new HttpGet(fileUrl);
CloseableHttpResponse response = httpClient.execute(httpGet);
HttpEntity entity = response.getEntity();
if (entity != null) {
InputStream in = entity.getContent();
OutputStream out = new FileOutputStream(savePath);
byte[] buffer = new byte[4096];
int bytesRead;
while ((bytesRead = in.read(buffer)) != -1) {
out.write(buffer, 0, bytesRead);
}
in.close();
out.close();
}
response.close();
httpClient.close();
  1. 使用Java NIO進行文件下載:Java NIO(New IO)提供了更高級的IO操作功能,可以使用FileChannel和ByteBuffer來進行文件下載。
ReadableByteChannel inChannel = Channels.newChannel(new URL(fileUrl).openStream());
FileOutputStream out = new FileOutputStream(savePath);
FileChannel outChannel = out.getChannel();
ByteBuffer buffer = ByteBuffer.allocate(4096);
while (inChannel.read(buffer) != -1) {
buffer.flip();
outChannel.write(buffer);
buffer.clear();
}
inChannel.close();
outChannel.close();
out.close();

以上是幾種常見的Java下載文件的方式,可以根據具體的需求選擇合適的方法。

0
天门市| 大兴区| 民权县| 灵山县| 海阳市| 历史| 登封市| 曲沃县| 合阳县| 周宁县| 兴和县| 沾化县| 雅江县| 通辽市| 黄浦区| 昆山市| 菏泽市| 洛阳市| 台前县| 江山市| 龙岩市| 石家庄市| 哈尔滨市| 盐城市| 衡水市| 宾川县| 沂南县| 神木县| 衡东县| 恭城| 天等县| 泰兴市| 唐海县| 阳春市| 松滋市| 定远县| 新河县| 长岛县| 临沧市| 万全县| 彰化市|