最近更新时间:2024-09-05 11:30:39
使用downloadFile方法从KS3下载文件,用户无需关心下载的文件大小,SDK将自动根据文件大小进行分块下载。
1. 支持断点续传,每块下载完成后SDK会记录到断点文件中,再次下载该文件时,将自动恢复上次的下载进度。
2. 支持进度回调。
3. 支持自动校验CRC64。
4. 支持按Range下载。
使用方法如下所示:
// 初始化 KS3Client,详情请参见文档:https://docs.ksyun.com/documents/40559
Ks3Client ks3Client = initClient();
// 初始化下载文件请求,设置 bucket,objectKey
DownloadFileRequest request = new DownloadFileRequest("my-bucket", "test-key");
// 设置目标文件地址
request.setDownloadFile("/data/test-file");
// 设置分块大小
request.setPartSize(5*1024*1024);
// 设置并发数
request.setTaskNum(10);
// 设置 metadata
request.setObjectMetadata(metadata);
// 设置断点续传开关,默认关闭
request.setEnableCheckpoint(true);
// 设置断点续传文件地址,默认为:<downloadFilePath>.dcp
request.setCheckpointFile("/data/test-file.dcp");
// 设置进度回调
ProgressListener listener = new ProgressListener() {
@Override
public void progressChanged(ProgressEvent progressEvent) {
System.out.println("Event Type: " + progressEvent.getEventType());
System.out.println("Event Bytes: " + progressEvent.getBytes());
}
};
request.setProgressListener(listener);
// 设置下载的文件范围
request.setRange(0, 102400);
// 启用 CRC64 校验
ks3Client.getKs3config().setCrcCheckEnabled(true);
// 开始下载文件
DownloadFileResult result = ks3Client.downloadFile(request);
纯净模式