android文件怎样重命名文件格式,如何在android中重命名下载的文件

异步下载任务:处理图书资源的智能下载器
此篇博客介绍了如何使用MyDownloaderAsyncTask类实现一个后台下载器,它能异步下载图书的图片、音频和页面内容。通过DownloadManager下载完成后,会在主线程更新UI状态并调用回调通知。关键操作包括文件路径构造、网络请求和文件保存。

public class MyDownloaderAsyncTask extends AsyncTask {

private DownloadManager.DownloadCompletedListner mListner;

public BookProperties mBookDetails;

public MyDownloaderAsyncTask(DownloadManager.DownloadCompletedListner listener, BookProperties bookdetails) {

mListner = listener;

mBookDetails = bookdetails;

}

@Override

protected Boolean doInBackground(String... strings) {

Log.i(TAG, "Success Download canceled 1111");

String tMainFolder = String.valueOf(BaseApplication.getInstance().getAppContext().getDir("MonnFamily", Context.MODE_PRIVATE));

tMainFolder += "/Book" + mBookDetails.getBookId(); //file which download name

Log.i(TAG, "Assynctask Ma" + tMainFolder);

Log.i(TAG, "book id and book name" + mBookDetails.getBookId() + mBookDetails.getBookName());

downloadBookDetails(tMainFolder, ContentfulConstants.BOOK_MAIN_IMAGE + ".png", mBookDetails.getBookMainImage());

downloadBookDetails(tMainFolder, ContentfulConstants.BOOK_MAIN_AUDIO + ".mp3", mBookDetails.getBookSound());

for (PageDetailProperties pageDetails : mBookDetails.getPageDetail()) {

String tPageNumber = pageDetails.getPageNumber().toString();

downloadBookDetails(tMainFolder, ContentfulConstants.PAGE_IMAGE + tPageNumber + ".png", pageDetails.getPageImage());

downloadBookDetails(tMainFolder, ContentfulConstants.PAGE_AUDIO + tPageNumber + ".mp3", pageDetails.getPageAudio());

downloadBookDetails(tMainFolder, ContentfulConstants.PAGE_TEXT + tPageNumber + ".txt", pageDetails.getPageText());

}

return true;

}

protected void onPostExecute(Boolean result) {

Log.i(TAG, "Execute Download befor");

//This is run on the UI thread so you can do as you wish here

if (result) {

Log.i(TAG, "Success Download");

((LibraryView) BaseApplication.getInstance().getCurrentActivity()).hideActivityView();

mListner.downloadCompleted();

// mBookDetails = pBook;

// // mBookDetails = pBook;

// String tMainFolder = String.valueOf(BaseApplication.getInstance().getAppContext().getDir("MonnFamily", Context.MODE_PRIVATE));

// Log.i(TAG, "Book downloadBookData" + tMainFolder);

// tMainFolder += "/Book" + mBookDetails.getBookId();

// tMainFolder +="/BookDownload" + mBookDetails.getBookId();

// Log.i(TAG, "Post Assync in DownloadManager" + tMainFolder);

//

// File directory = new File(tMainFolder);

// File directory1 = new File(tMainFolder);

// if (directory.exists()) {

// directory.renameTo(directory1);

// Log.i(TAG, "Download Manager Directory" + directory1);

// }

}

}

private void downloadBookDetails(String pMainFolder, String pFileName, String pDownloadURL) {

Log.i(TAG, "Coming to this downloadBookDetails ");

try {

URL url = new URL(pDownloadURL);

Log.i(TAG, "pDownload URL"+ url);

URLConnection ucon = url.openConnection();

ucon.setReadTimeout(5000);

ucon.setConnectTimeout(10000);

InputStream is = ucon.getInputStream();

BufferedInputStream inStream = new BufferedInputStream(is, 1024 * 5);

File directory = new File(pMainFolder, pFileName);

Log.i(TAG, "File Name dir" + directory);

FileOutputStream outStream = new FileOutputStream(directory);

byte[] buff = new byte[5 * 1024];

int len;

while ((len = inStream.read(buff)) != -1) {

outStream.write(buff, 0, len);

}

outStream.flush();

outStream.close();

inStream.close();

} catch (Exception e) {

//Add Network Error.

Log.i(TAG, "Download Error Exception " + e.getMessage());

e.printStackTrace();

}

}

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值