Atitit 遍历文件夹目录解决方案与规范 attilax总结 1. 规范 2 1.1. 注意的不要同时改变文件夹内容,增删文件。这样获取到的目录list不会变化 2 1.2. 主义中文名称文件读写

Atitit 遍历文件夹目录解决方案与规范 attilax总结

 

1. 规范 2

1.1. 注意的不要同时改变文件夹内容,增删文件。这样获取到的目录list不会变化 2

1.2. 主义中文名称文件读写。。乱码可以转码 2

1.3. 最好输出日志百分比知道进度 2

1.4. 对。    。。目录的处理过滤 2

1.5. 写好目录 遍历 回调的handler 2

2. 方法 2

2.1. 递归法不推荐 2

2.2. walkFileTree法 推荐 2

3. Walkfiletree法 2

3.1. 遍历行为控制器——FileVisitor:访问一个节点之前、之中、之后、失败时 2

3.2. FileVisitResult是一个枚举类型继续遍历则应该怎样遍历, 5

4. 压缩文件内部的遍历 5

5. Atisdk 位置与各大语言实现php js java c# python 5

5.1. Node.js的实现 6

6. 应用场合 7

6.1. 百度文库去除联系人信息使用 7

7. 参考资料 8

7.1. C:\Users\Administrator\Desktop\遍历文件夹目录功能资料包>dir /b 8

7.2. Atitit jar文件遍历.docx 8

7.3. Atitit jar文件遍历.docx.txt 8

7.4. Atitit node js 循环遍历文件夹解决方案.docx 8

7.5. Atitit php遍历文件夹 以及中文文件名乱码问题解决方案.docx 8

7.6. Atitit php遍历文件夹 以及中文文件名乱码问题解决方案.docx.lnk 8

7.7. Atitit 遍历文件夹 autoit attilax总结.docx 8

7.8. Atitit 遍历文件夹 autoit attilax总结.docx.txt 8

7.9. atitit.c++ c跟java的性能比较--遍历文件夹.doc 8

7.10. atitit.c++ c跟java的性能比较--遍历文件夹.doc.txt 8

7.11. atitit.高性能遍历文件行 attilax总结.doc 8

7.12. atitit.高性能遍历文件行 attilax总结.doc.txt 8

7.13. paip.c++ qt 目录遍历以及文件操作 9

7.14. 9

 

  1. 规范
    1. 注意的不要同时改变文件夹内容,增删文件。这样获取到的目录list不会变化
    2. 主义中文名称文件读写。。乱码可以转码
    3. 最好输出日志百分比知道进度
    4. 对。    。。目录的处理过滤
    5. 写好目录 遍历 回调的handler
  2. 方法
    1. 递归法不推荐
    2. walkFileTree 推荐
  3. Walkfiletree法

 

    1. 遍历行为控制器——FileVisitor:访问一个节点之前、之中、之后、失败时

         i. 它是一个接口,里面定义了4个方法用来指定当你访问一个节点之前、之中、之后、失败时应该采取什么行动;

         ii. 这个设计非常优雅和科学,毕竟你在遍历文件系统时想要做的事情无外乎发生在这几个时间点上,Java全部为你考虑好了,并搭好了框架!多么的贴心!!

         iii. API:

  1.  

public interface FileVisitor<T> {

  1.  
  2.  

 

  1.  
  2.  

    FileVisitResult preVisitDirectory(T dir, BasicFileAttributes attrs) // 访问一个目录前要干啥

  1.  
  2.  

        throws IOException;

  1.  
  2.  

    

  1.  
  2.  

    FileVisitResult postVisitDirectory(T dir, IOException exc) // 访问一个目录后要干啥

  1.  
  2.  

            throws IOException;

  1.  
  2.  

 

  1.  
  2.  

    FileVisitResult visitFile(T file, BasicFileAttributes attrs) // 正在访问一个文件时要干啥

  1.  
  2.  

        throws IOException;

  1.  
  2.  

    

  1.  
  2.  

    FileVisitResult visitFileFailed(T file, IOException exc) // 访问一个文件失败时要干啥

  1.  
  2.  

        throws IOException;

  1.  
  2.  

 

    1. FileVisitResult是一个枚举类型继续遍历则应该怎样遍历,

它总共有4个枚举值:都是FileVisitResult中定义的枚举值

CONTINUE:继续遍历

SKIP_SIBLINGS:继续遍历,但忽略当前节点的所有兄弟节点直接返回上一层继续遍历

SKIP_SUBTREE:继续遍历,但是忽略子目录,但是子文件还是会访问;

TERMINATE:终止遍历

 

  1. 压缩文件内部的遍历
  2. Atisdk 位置与各大语言实现php js java c# python

C:\Users\Administrator\Desktop\遍历文件夹目录功能资料包>dir /b

Atitit jar文件遍历.docx

Atitit jar文件遍历.docx.txt

Atitit node js 循环遍历文件夹解决方案.docx

Atitit php遍历文件夹 以及中文文件名乱码问题解决方案.docx

Atitit php遍历文件夹 以及中文文件名乱码问题解决方案.docx.lnk

Atitit 遍历文件夹 autoit attilax总结.docx

Atitit 遍历文件夹 autoit attilax总结.docx.txt

atitit.c++ c跟java的性能比较--遍历文件夹.doc

atitit.c++ c跟java的性能比较--遍历文件夹.doc.txt

atitit.高性能遍历文件行 attilax总结.doc

atitit.高性能遍历文件行 attilax总结.doc.txt

paip.c++ qt 目录遍历以及文件操作

    1. Node.js的实现

// C:\0workspace\dataindexGenerNodejs\files,.js

 // readdirSync_scandir

function walkFileTree(pathSimpleFileVisitor) {

    var pm=require("path");

    fs=require("fs");

    if(path==NaN)

        return;

    console.log(" will readFileList path:"+path);

    var files = fs.readdirSync(path);

    files.forEach(function (fnameindex) {

        if(fname=='yunprint')

           console.log("debg");

        if(fname==NaN)

            return;

        var fullname = path + pm.sepfname;

        console.log("-- foreach path or file :"+fullname);

        var stat = fs.statSync(fullname);

 

        if (stat.isDirectory()) {

            //�ݹ��ȡ�ļ�

            //

            var fullpath2 = pathpm.sep+   fname;

            console.log("--is dir:"fullpath2);

 

            walkFileTree(fullpath2 , SimpleFileVisitor)

        } else {

 

            var obj = {};//����һ���������ļ���·��������

            obj.path = path;//·��

            obj.filename = fname//����

            obj.pathfull=path+"//"+fname;

            SimpleFileVisitor (obj);

        }

 

    })

 

}

 

exports.walkFileTree =walkFileTree

 

 

 

  1. 应用场合
    1. 百度文库去除联系人信息使用

 

  1. 参考资料
    1. C:\Users\Administrator\Desktop\遍历文件夹目录功能资料包>dir /b
    2. Atitit jar文件遍历.docx
    3. Atitit jar文件遍历.docx.txt
    4. Atitit node js 循环遍历文件夹解决方案.docx
    5. Atitit php遍历文件夹 以及中文文件名乱码问题解决方案.docx
    6. Atitit php遍历文件夹 以及中文文件名乱码问题解决方案.docx.lnk
    7. Atitit 遍历文件夹 autoit attilax总结.docx
    8. Atitit 遍历文件夹 autoit attilax总结.docx.txt
    9. atitit.c++ c跟java的性能比较--遍历文件夹.doc
    10. atitit.c++ c跟java的性能比较--遍历文件夹.doc.txt
    11. atitit.高性能遍历文件行 attilax总结.doc
    12. atitit.高性能遍历文件行 attilax总结.doc.txt
    13. paip.c++ qt 目录遍历以及文件操作

 

(9+条消息)[疯狂Java]NIO.2:walkFileTree、FileVisitor(遍历文件_目录) - Lirx_Tech的专栏 - CSDN博客.mhtml

 

终于讲清楚了nodejs中exports和module.exports的区别_慕课手记.mhtml

posted @ 2019-09-22 15:36  attilaxAti  阅读(43)  评论(0编辑  收藏  举报