static void Main(string[] args)
        {

    string path = string.Format(@"C:\Users\Administrator\Desktop\{0}", @"shenzheng");//根目录
            List<string> filePaths = GetAllDirectories(path);//返回根目录下所有文件(包括路径)的集合
            foreach (var item in filePaths)
            {
                StreamReader read = new StreamReader(item, Encoding.UTF8);//根据文件路径获取文件流
                string fileName = Path.GetFileNameWithoutExtension(item);//文件名
                string filePath = Path.GetDirectoryName(item);//文件所在文件夹
                if (!read.EndOfStream)//是否读取完成
                {
                    string aline = read.ReadToEnd();//读取全部------//string aline = read.ReadLine();读取一行
                    Console.WriteLine(read.ReadLine());
                    string keyStar = "***";//关键字开始
                    string ketEnd = "&&&";//关键字结束//获取之间的字符串
                    int star = aline.IndexOf(keyStar) + keyStar.Length;//加上keyStar所占的位数
                    int end = aline.IndexOf(ketEnd);
                    if (star > 0 && end > star)//未找到关键字
                    {
                        string newstr = aline.Substring(star, end - star);
                        Console.WriteLine(newstr);//打印到控制台,查看是否截取想要的信息
                        Console.WriteLine(fileName + "打印完毕");
                        //char[] dd = new char[] { ']', ',' };
                        string[] strs = newstr.Split(new string[] { "分割字符串" }, StringSplitOptions.RemoveEmptyEntries);//根据规则分割你想要的字符串获得字符串集合
                        StreamWriter sw = new StreamWriter(@"C:\Users\Administrator\Desktop\out\" + fileName + "处理.txt", false);//输出目录及文件名称定义
                        for (int i = 0; i < strs.Count(); i++)
                        {
                            Console.WriteLine(strs[i] + "," + (i + 1).ToString());//打印到控制台
                            sw.WriteLine(strs[i] + "," + (i + 1).ToString());//写到文件
                            sw.Flush();//清空StreamWriter缓存,否则会写不全
                            Thread.Sleep(20);

                        }
                        Console.WriteLine(fileName + "写入完毕");
                        Console.ReadKey();
                    }
                    else
                    {
                        Console.WriteLine("当前文档" + fileName + "没有符合规则的数据,跳过!");
                    }
                }
            }

      static List<string> filesList = new List<string>();
          public static List<string> GetAllDirectories(string rootPath)
          {
              string[] subPaths = Directory.GetDirectories(rootPath);//得到所有子目录

              foreach (string path in subPaths)
              {
                  GetAllDirectories(path);//对每一个字目录做与根目录相同的操作:即找到子目录并将当前目录的文件名存入List
              }
              string[] files = Directory.GetFiles(rootPath);
              foreach (string file in files)
              {
                  filesList.Add(file);//将当前目录中的所有文件全名存入文件List
              }
              return filesList;
          }

  }

c# .net获取文件夹下的所有文件(多层递归),并获取区间数据(Jsion,xml等数据)写出到处理文件,学习分享~的更多相关文章

  1. [C#]获取指定文件夹下的所有文件名(递归)

    典型的递归方法: //定义一个list集合 List<String> list = new List<String>(); public void director(strin ...

  2. Android 使用存放在存assets文件夹下的SQLite数据库

    因为这次的项目需要自带数据,所以就就把数据都放到一个SQLite的数据库文件中了,之后把该文件放到了assets文件夹下面.一开始打算每次都从assets文件夹下面把该文件夹拷贝到手机的SD卡或者手机 ...

  3. 42、使用存放在存assets文件夹下的SQLite数据库

    因为这次的项目需要自带数据,所以就就把数据都放到一个SQLite的数据库文件中了,之后把该文件放到了assets文件夹下面.一开始打算每次都从assets文件夹下面把该文件夹拷贝到手机的SD卡或者手机 ...

  4. matlab操作之--读取指定文件夹下的“指定格式”文件

    %% 正负样本所在folder fext='*.png';%要读取的文件格式 positiveFolder='F:\课题\Crater detection\machingLearning\Positi ...

  5. 脚本工具(获取某个文件夹下的所有图片属性批量生成css样式)

    问题描述: 由于有一次工作原因,就是将某个文件夹下的所有图片,通过CSS描述他们的属性,用的时候就可以直接引用.但是我觉得那个文件夹下的图片太多,而且CSS文件的格式又有一定的规律,所有想通过脚本来生 ...

  6. cocos2d-x3.2下获取文件夹下所有文件名的方法

    这里提供一个函数获取文件夹下所有文件名的方法,直接上代码了. 原文地址:http://blog.csdn.net/qqmcy/article/details/36184733 // //  Visib ...

  7. C#获取文件夹下指定格式的所有文件

    C#获取文件夹下指定格式的所有文件的方法,虽然很简单,但还是分享一下吧,用到时可以稍加修改和优化就可以使用. 获取指定目录下所有文件 //最要使用 System.IO.Directory.GetFil ...

  8. PHP遍历文件夹下的文件和获取到input name的值

    <?php$dir = dirname(__FILE__); //要遍历的目录名字 ->当前文件所在的文件夹//$dir='D:\PHP\wamp\www\admin\hosts\admi ...

  9. 转载: C++ 获取文件夹下的所有文件名

    最近需要得到某个文件夹下所有文件名,于是就上网上查了查,得到如下的解决方案最多: 而且查到的最早的版本是这个:http://blog.csdn.net/cxf7394373/article/detai ...

  10. C++ 获取文件夹下的所有文件名

    获取文件夹下所有的文件名是常用的功能,今天再一次有这样的需求,所有就在网上查找了很多,并记下以供后用. 原文:http://blog.csdn.NET/cxf7394373/article/detai ...

随机推荐

  1. 利用私有的API获得手机上所安装的所有应用信息(包括版本,名称,bundleID,类型)

    MobileCoreService这个系统的库,里面有个私有的类LSApplicationWorkspace ,利用运行时可以获得私有类里面的方法,- (id)allInstalledApplicat ...

  2. iOS从零开始学习直播之音频1.播放本地音频文件

      现在直播越来越火,俨然已经成为了下一个红海.作为一个资深码农(我只喜欢这样称呼自己,不喜欢别人这样称呼我),我必须赶上时代的潮流,开始研究视频直播.发现视屏直播类的文章上来就讲拉流.推流.采集.美 ...

  3. Android 手机卫士--导航界面4的业务逻辑

    本文实现导航界面4的业务逻辑,导航界面4的界面如下: 本文地址:http://www.cnblogs.com/wuyudong/p/5952640.html,转载请注明出处. 相应的代码如下: pri ...

  4. AngularJS 输入验证

    AngularJS 表单和控件可以验证输入的数据. 实例 <!DOCTYPE html> <html> <script src= "http://apps.bd ...

  5. log4j:ERROR Failed to rename [/log/xxx.log] to [/log/xxx.log.2016-11-23.log]

    Log4j报错: log4j:ERROR Failed to rename [/log/xxx.log] to [/log/xxx.log.2016-11-23.log] google了一下发现是个b ...

  6. ios10.2真机调试包,ios升级10.2后需要添加

    下载地址: http://download.csdn.net/detail/koktear/9710820 添加地址: finder-应用程序-找到Xcode-右击显示包内容-Contents-Dev ...

  7. sql一个表中的数据插入到另外一个表中

    声名:a,b ,都是表 复制代码代码如下: --b表存在(两表结构一样)  insert into b select * from a  若两表只是有部分(字段)相同,则 复制代码代码如下: inse ...

  8. 理解 neutron(15):Neutron linux-bridge-agent 创建 linux bridge 的简要过程

    学习 Neutron 系列文章: (1)Neutron 所实现的虚拟化网络 (2)Neutron OpenvSwitch + VLAN 虚拟网络 (3)Neutron OpenvSwitch + GR ...

  9. linux命令-系统命令

    1.查看Linux磁盘空间大小 df -lh Filesystem 容量 已用 可用 已用% 挂载点 /dev/hda8 11G 6.0G 4.4G 58% / /dev/shm 236M 0 236 ...

  10. plain framework 商业版 开发总结2 项目管理器

    任何事情都有三个阶段,分析.制作.质检的过程.在程序中就分为设计.编码.调试(测试)三个阶段,其中设计最为重要,设计的不好会导致编码和调试重复,甚至最后又回到了设计的过程.为了不会重复返工,所以设计的 ...