我必须创建自己的Windows备份程序。它运作良好,但需要这种改进:
++++++++++++ <C:\Users\Dov\AndroidStudioProjects\Y\app\build\intermediates\res\test> created
++++++++++++ <C:\Users\Dov\AndroidStudioProjects\Y\app\build\intermediates\res\test\debug> created
++++++++++++ <C:\Users\Dov\AndroidStudioProjects\Y\app\build\intermediates\rs> created
++++++++++++ <C:\Users\Dov\AndroidStudioProjects\Y\app\build\intermediates\rs\debug> created
++++++++++++ <C:\Users\Dov\AndroidStudioProjects\Y\app\build\intermediates\rs\debug\lib> created
++++++++++++ <C:\Users\Dov\AndroidStudioProjects\Y\app\build\intermediates\rs\debug\obj> created
++++++++++++ <C:\Users\Dov\AndroidStudioProjects\Y\app\build\intermediates\rs\test> created
++++++++++++ <C:\Users\Dov\AndroidStudioProjects\Y\app\build\intermediates\rs\test\debug> created
++++++++++++ <C:\Users\Dov\AndroidStudioProjects\Y\app\build\intermediates\rs\test\debug\lib> created
++++++++++++ <C:\Users\Dov\AndroidStudioProjects\Y\app\build\intermediates\rs\test\debug\obj> created
++++++++++++ <C:\Users\Dov\AndroidStudioProjects\Y\app\build\intermediates\symbols> created
它创建了空文件夹,这是有道理的,如果源{和} {}存在于源中而不是目标中,则应该创建它。
但我不想要所有这些空文件夹。
我正在使用
X
到&#34;走文件树&#34;来自用户的源节点。
我正在考虑将另一个 TreeWalker tw = new TreeWalker();
Files.walkFileTree(UserIO.inputPath, tw);
用于任何作为文件夹的源项目,在该树上行走,如果没有文件则不复制它(或其任何子文件夹)在那个&#34; sub walk&#34;。
这个嵌套的TreeWalker
似乎是不合适的(它会被称为很多次,可能不安全或耗时),所以我想知道是否有更好/更安全的方式,比如可能是外部的源(例如Apache commons)计算路径中的非文件夹文件,或者我应该使用FileWalker
方法。
怎么办?
(a)另一个nio
(b)FileWalker
方法
(c)一些已经存在的方法
(d)让空文件夹被创建并享受今天剩余的时间