【问题标题】:How can I display a Progress bar while copying files using Apache FileUtils? Android使用 Apache FileUtils 复制文件时如何显示进度条?安卓
【发布时间】:2014-08-06 20:59:22
【问题描述】:
我正在使用Apache commons 库将文件从一个目录复制到另一个目录。我遇到的问题是我无法在复制文件时找到更新进度条的方法。我最初的想法是使用回调,但是没有办法将回调传递给 copyfile 方法。
FileUtils.copyFileToDirectory(fileSrc, fileDest);
【问题讨论】:
标签:
android
file
io
apache-commons
【解决方案1】:
我解决了我的问题如下,希望对你有用。
if (mAdapter != null && mAdapter.getItemCount() > 0) {
final ArrayList<StoryModel> selectedList = mAdapter.getSelectedData();
if (selectedList.size() > 0) {
final ProgressDialog pd = new ProgressDialog(getActivity());
pd.setMessage("Saving Stories....");
pd.show();
Thread t = new Thread(new Runnable() {
@Override
public void run() {
try {
for (StoryModel imageModel : selectedList) {
String srcFilePath = imageModel.getUrl();
Log.d(TAG, "onOptionsItemSelected: " + srcFilePath);
org.apache.commons.io.FileUtils.copyFileToDirectory(new File(srcFilePath), new File(FileUtils.getAppPath(mContext)));
}
} catch (IOException ignored) {
}
Log.d(TAG, "run: Dismissed....");
pd.dismiss();
}
});
t.start();
} else {
Toast.makeText(mContext, R.string.string_error_select_story_to_download, Toast.LENGTH_LONG).show();
}
} else {
Toast.makeText(mContext, R.string.string_error_select_story_to_download, Toast.LENGTH_LONG).show();
}
谢谢你:)