【问题标题】: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();
}

谢谢你:)

【讨论】:

    猜你喜欢
    • 2019-04-30
    • 1970-01-01
    • 1970-01-01
    • 2016-08-27
    • 1970-01-01
    • 2011-04-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多