Java如何实现下载文件的几种方式(几种.如何实现.方式.文件.下载...)
java下载文件的方式
Java 提供了多种下载文件的方法。以下是几种常用的方式:
1. 使用 URL.openStream()
URL url = new URL("https://example.com/file.txt"); URLConnection connection = url.openConnection(); InputStream inputStream = connection.getInputStream(); FileOutputStream fileOutputStream = new FileOutputStream("file.txt"); byte[] buffer = new byte[1024]; int len; while ((len = inputStream.read(buffer)) > 0) { fileOutputStream.write(buffer, 0, len); }
2. 使用 HttpClient
HttpClient client = HttpClientBuilder.create().build(); HttpGet request = new HttpGet("https://example.com/file.txt"); HttpResponse response = client.execute(request); HttpEntity entity = response.getEntity(); InputStream inputStream = entity.getContent(); FileOutputStream fileOutputStream = new FileOutputStream("file.txt"); byte[] buffer = new byte[1024]; int len; while ((len = inputStream.read(buffer)) > 0) { fileOutputStream.write(buffer, 0, len); }
3. 使用 URLConnection
URL url = new URL("https://example.com/file.txt"); URLConnection connection = url.openConnection(); connection.setDoInput(true); connection.connect(); InputStream inputStream = connection.getInputStream(); FileOutputStream fileOutputStream = new FileOutputStream("file.txt"); byte[] buffer = new byte[1024]; int len; while ((len = inputStream.read(buffer)) > 0) { fileOutputStream.write(buffer, 0, len); }
4. 使用 Java NIO
Path path = Paths.get("file.txt"); FileChannel fileChannel = FileChannel.open(path, StandardOpenOption.WRITE); SocketChannel socketChannel = SocketChannel.open(); socketChannel.connect(new InetSocketAddress("example.com", 80)); ByteBuffer buffer = ByteBuffer.allocate(1024); while ((len = socketChannel.read(buffer)) > 0) { fileChannel.write(buffer, 0, len); }
以上就是Java如何实现下载文件的几种方式的详细内容,更多请关注知识资源分享宝库其它相关文章!