在Android中,可以使用Retrofit庫來下載文件。以下是使用Retrofit下載文件的步驟:
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
implementation 'com.squareup.okhttp3:okhttp:4.9.0'
public interface FileDownloadService {
@Streaming
@GET
Call<ResponseBody> downloadFile(@Url String url);
}
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(BASE_URL)
.build();
FileDownloadService fileDownloadService = retrofit.create(FileDownloadService.class);
Call<ResponseBody> call = fileDownloadService.downloadFile(fileUrl);
call.enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
// 處理響應體
if (response.isSuccessful()) {
// 獲取響應體
ResponseBody body = response.body();
// 使用輸入流保存響應體到文件
InputStream inputStream = body.byteStream();
FileOutputStream outputStream = new FileOutputStream(file);
byte[] buffer = new byte[4096];
int bytesRead;
while ((bytesRead = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, bytesRead);
}
// 關閉文件輸出流和輸入流
outputStream.close();
inputStream.close();
}
}
@Override
public void onFailure(Call<ResponseBody> call, Throwable t) {
// 處理請求失敗
}
});
<uses-permission android:name="android.permission.INTERNET" />
以上就是使用Retrofit下載文件的基本步驟。你可以根據實際需求進行相應的修改和優化。