带有ApacheFileUtils的java进度条。copyDirectory(…)
有人知道为Apache的FileUtils.copyDirectory(File src, File dst)
实现进度条的方法吗?我在JavaDocs和API中看不到任何有用的东西。似乎是处理批处理磁盘操作的常见用例,所以我不确定是否遗漏了一些明显的东西
你可以在下面搜索框中键入要查询的问题!
有人知道为Apache的FileUtils.copyDirectory(File src, File dst)
实现进度条的方法吗?我在JavaDocs和API中看不到任何有用的东西。似乎是处理批处理磁盘操作的常见用例,所以我不确定是否遗漏了一些明显的东西
# 1 楼答案
对于任何感兴趣的人,我都是通过处理FileUtils中的
doCopyFile
方法和导致它的两种方法来实现的。然后我将它们粘贴到一个新类中,这样我就可以编辑这些方法,而不是只使用固定的FileUtils方法然后我改变了
doCopyFile
方法的这一部分:对此:(每次清空缓冲区时更新进度条,这不是最好的方式)
为了获得更好的方式,副本将在另一个线程中运行,进度条将在EDT中更新(使用
bytesTransfered
值和被复制文件的总大小):然后用以下内容更新EDT fire事件的进度条:
# 2 楼答案
我想你得自己做。我认为这是一个立竿见影的解决方案:
FileFilter
作为回调来复制文件,以便将进度传达给进度条