目录下有5个文件夹,假设为12345,其中5是没有用的,需要在1234中执行。
然后1234每个文件夹中都有若干(大约几万个吧)个目录,要在这几万个目录中寻找储存1.xml但是没有2.xml的文件,如果找到一个算法就可以停止了。
对于检查文件是否存在可以用
fs.stat('file`, function(err, stats) {
if (err = null) {//file exists}
else if (err.code = ENOENT) {//no such file exists}
进行检查。
只需要找到一个符合条件的文件算法就可以停止了,但是由于文件众多请问有没有什么比较节省性能的方法?
1)对于一个目录下的文件来说,如果你的文件名是由规律的,按一定规则排序的话,那么可以利用到这个排序;例如你最多只判断前2个文件,而不需要遍历目录下的所有文件.文件名在一个目录下不能重复
2)如果文件名是没有规律的话,那么就需要遍历目录下的所有文件来匹配你的规则,在遇到2.xml文件时,可以提前退出遍历-可能此时已经到目录尾了
3) 在一个目录下找到符合条件的文件,那么剩余的目录不在需要遍历了
4)实际中一个目录下还需要考虑子目录的情况,故在遍历一个目录下的文件的时候,需要得到子类目的信息
以下是给具体的实现,你可以参考下~~