博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
递归遍历文件及子文件夹下的文件(该代码是复制过来修改过的,如果有侵作者权的话,请作者联系我,立即删除)...
阅读量:4678 次
发布时间:2019-06-09

本文共 2686 字,大约阅读时间需要 8 分钟。

调用: ListFiles(new DirectoryInfo(source));  ///         /// //递归遍历所有文件包括子文件夹下的文件 并对word excel pdf文件进行复制到目标路径        ///         ///         private void ListFiles(FileSystemInfo info)        {            if (!info.Exists) { return; }            DirectoryInfo dir = info as DirectoryInfo;            //不是目录             if (dir == null) { return; }            FileSystemInfo[] files = dir.GetFileSystemInfos();            for (int i = 0; i < files.Length; i++)            {                FileInfo file = files[i] as FileInfo;                //是文件                 if (file != null)                {                    string[] arr = file.Name.Split(new char[] { '.' });                    arr[arr.Length - 1] = arr[arr.Length - 1].ToLower();                    if (arr[arr.Length - 1] == "doc" || arr[arr.Length - 1] == "docx")                    {                                            #region 每扫描到一个word文件 存储到lst里面去                        FilesModelRepostory fileModel = new FilesModelRepostory();                        fileModel.ID = Guid.NewGuid().ToString("N");                        fileModel.FileName = file.Name;                        fileModel.FileType =FileType.Word;                                                AddJob(fileModel);                        #endregion                        count++;                    }                    if (arr[arr.Length - 1] == "xls" || arr[arr.Length - 1] == "xlsx")                    {                                               #region 每扫描到一个Excel文件 存储到lst里面去                        FilesModelRepostory fileModel = new FilesModelRepostory();                        fileModel.ID = Guid.NewGuid().ToString("N");                        fileModel.FileName = file.Name;                        fileModel.FileType = FileType.Excel;                        AddJob(fileModel);                        #endregion                        count++;                    }                    if (arr[arr.Length - 1] == "pdf")                    {                                            #region 每扫描到一个pdf文件 存储到lst里面去                        FilesModelRepostory fileModel = new FilesModelRepostory();                        fileModel.ID = Guid.NewGuid().ToString("N");                        fileModel.FileName = file.Name;                        fileModel.FileType =FileType.Pdf;                        AddJob(fileModel);                        #endregion                        count++;                    }                }                //对于子目录,进行递归调用                 else                {                    ListFiles(files[i]);                }            }        }

  

转载于:https://www.cnblogs.com/zjw520/archive/2013/04/11/3014670.html

你可能感兴趣的文章
Duplicate files copied in APK META-INF/DEPENDENCIES
查看>>
(转译)用FFmpeg和SDL写播放器--08软件缩放
查看>>
Codeigniter 3.0 相关文档 part two
查看>>
函数执行顺序
查看>>
课题实践总结
查看>>
java word导入导出工具类
查看>>
Castle ActiveRecord学习实践(7)级联
查看>>
赋值运算符重载函数
查看>>
POJ_1733 Parity game 【并查集+离散化】
查看>>
别在需要制度和文化的时候表错了情
查看>>
jupyter 快捷键
查看>>
SpringBoot打包项目成war包,并部署到服务器的tomcat上
查看>>
前端面试
查看>>
判断文件的字符编码
查看>>
VirtualBox如何扩展虚拟机Ubuntu的硬盘容量?
查看>>
JAVA操作数据库插入中文表中显示乱码的解决方法
查看>>
SSM综合练习crm
查看>>
SQL ---子查询
查看>>
改进delphi中的RoundTo函数
查看>>
Microsoft Visual SourceSafe使用经验
查看>>