怎么下载文件,在java中
时间: 2024-09-15 14:06:09 浏览: 30
在Java中下载文件通常使用`java.net.URL`类配合`java.io.InputStream`和`java.nio.file`包的功能。下面是一个简单的示例,展示如何从网络地址下载文件:
```java
import java.io.*;
import java.net.URL;
public class FileDownload {
public static void downloadFile(String urlString) throws IOException {
URL url = new URL(urlString);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
// 设置请求属性
connection.setRequestMethod("GET");
connection.setDoOutput(true); // 指定为输出流请求,用于接收文件
connection.connect();
int fileLength = connection.getContentLength(); // 获取文件长度
// 创建目标目录及文件
String fileName = urlString.substring(urlString.lastIndexOf("/") + 1);
File outputFile = new File(fileName);
if (!outputFile.getParentFile().exists()) {
outputFile.getParentFile().mkdirs();
}
// 打开输入和输出流
OutputStream outputStream = new FileOutputStream(outputFile);
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = connection.getInputStream().read(buffer)) != -1) {
outputStream.write(buffer, 0, bytesRead);
}
outputStream.close();
connection.disconnect();
System.out.println("文件已下载完成,大小为:" + fileLength + " 字节");
}
}
```
调用这个函数,传入你要下载的文件的URL即可,例如:
```java
downloadFile("https://example.com/path/to/file.zip");
```
阅读全文