- 使用URL类的openStream()方法下载文件:
URL url = new URL(fileUrl); InputStream inputStream = url.openStream(); FileOutputStream outputStream = new FileOutputStream(savePath); byte[] buffer = new byte[1024]; int bytesRead; while ((bytesRead = inputStream.read(buffer)) != -1) { outputStream.write(buffer, 0, bytesRead); } outputStream.close(); inputStream.close();
- 使用URLConnection类下载文件:
URL url = new URL(fileUrl); HttpURLConnection httpConn = (HttpURLConnection) url.openConnection(); int responseCode = httpConn.getResponseCode(); if (responseCode == HttpURLConnection.HTTP_OK) { InputStream inputStream = httpConn.getInputStream(); FileOutputStream outputStream = new FileOutputStream(savePath); byte[] buffer = new byte[1024]; int bytesRead; while ((bytesRead = inputStream.read(buffer)) != -1) { outputStream.write(buffer, 0, bytesRead); } outputStream.close(); inputStream.close(); } httpConn.disconnect();
- 使用Apache HttpClient库下载文件:
CloseableHttpClient httpClient = HttpClientBuilder.create().build(); HttpGet httpGet = new HttpGet(fileUrl); CloseableHttpResponse response = httpClient.execute(httpGet); HttpEntity entity = response.getEntity(); if (entity != null) { InputStream inputStream = entity.getContent(); FileOutputStream outputStream = new FileOutputStream(savePath); byte[] buffer = new byte[1024]; int bytesRead; while ((bytesRead = inputStream.read(buffer)) != -1) { outputStream.write(buffer, 0, bytesRead); } outputStream.close(); inputStream.close(); } httpClient.close(); response.close();
- 使用Java NIO下载文件:
URL url = new URL(fileUrl); ReadableByteChannel channel = Channels.newChannel(url.openStream()); FileOutputStream outputStream = new FileOutputStream(savePath); outputStream.getChannel().transferFrom(channel, 0, Long.MAX_VALUE); outputStream.close(); channel.close();
- 使用Java IO和BufferedStream下载文件:
URL url = new URL(fileUrl); BufferedInputStream inputStream = new BufferedInputStream(url.openStream()); FileOutputStream outputStream = new FileOutputStream(savePath); byte[] buffer = new byte[1024]; int bytesRead; while ((bytesRead = inputStream.read(buffer)) != -1) { outputStream.write(buffer, 0, bytesRead); } outputStream.close(); inputStream.close();
- 使用Apache Commons IO库下载文件:
URL url = new URL(fileUrl); FileUtils.copyURLToFile(url, new File(savePath));
请注意,以上代码可能需要处理异常或添加进一步的逻辑来完善下载过程。