我正在使用java 7,但如果认为值得,可以升级到8。
我正在创建一个程序来比较2个文件夹中的文件。
我正在使用Files.newDirectoryStream来提取文件数据,虽然我仍然需要弄清楚如何递归,但我确信这不应该太难。
所以,我会进行比较,然后添加缺失的项目,使它们保持同步 这意味着我需要存储:
1)名称& 2)路径
因此我需要用一些东西来做这件事。我知道我可以使用Array [] []来完成它。但这是最好的方法吗,或者列表更有效。
我想象最大的文件夹可容纳200个文件。
提前致谢。
答案 0 :(得分:0)
您可以使用ArrayList<File>
,它可以被视为&#34;普通数组周围的包装器&#34; (为了简单和理解)。由于List中的每个元素都是File
类型,因此您已经可以访问文件的路径和名称,而不需要单独存储它们。
当然,ArrayList比使用简单数组有更多的开销,但是如果你期望最大数量是200个文件,那么这不是什么大问题而且不用担心。除非您在计算器上运行程序;)
如果可以,您应首先获取当前工作目录中的文件数量,并将该数字用作列表的初始大小:
int numberOfFiles = fetchFileCount(directory);
ArrayList<File> currentFiles = new ArrayList<>(numberOfFiles);