如何实现 Java txt 大文件下载
1. 流程图
stateDiagram
[*] --> 开始
开始 --> 下载文件
下载文件 --> 结束
结束 --> [*]
2. 步骤
步骤 | 操作 |
---|---|
1 | 打开输入流,读取要下载的大文件 |
2 | 打开输出流,将文件内容写入到本地文件 |
3 | 关闭输入流和输出流 |
3. 代码实现
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.URL;
import java.net.URLConnection;
public class FileDownload {
public static void downloadFile(String fileUrl, String saveDir) throws IOException {
URL url = new URL(fileUrl);
URLConnection connection = url.openConnection();
try (BufferedInputStream in = new BufferedInputStream(connection.getInputStream());
BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(saveDir))) {
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = in.read(buffer)) != -1) {
out.write(buffer, 0, bytesRead);
}
}
}
public static void main(String[] args) {
String fileUrl = "
String saveDir = "C:\\downloads\\largefile.txt";
try {
downloadFile(fileUrl, saveDir);
System.out.println("File downloaded successfully!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
BufferedInputStream
:输入流,用于读取文件内容BufferedOutputStream
:输出流,用于写入本地文件URL
:表示一个统一资源定位符URLConnection
:用于打开连接并获取资源in.read(buffer)
:读取文件内容到缓冲区out.write(buffer, 0, bytesRead)
:将缓冲区中的内容写入到本地文件
4. 总结
通过以上步骤和代码实现,你可以成功下载大文件并保存到本地。记得在完成操作后关闭输入流和输出流,保持代码的健壮性和资源的释放。希望这篇文章对你有所帮助,加油!