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. iOS开发--面试

    今天一大清早去面试, 公司距离我家还挺近的, 花了一个小时走着去, 也顺路印下简历, 理理思路, 到了公司面试官什么的都不错, 还给我讲了很多知识, 收货也是满满的, 总结下今天都遇到了哪些问题, 调 ...

  2. swift-运算符

    运算符:+ , - , * , / ,%, ++,-- OC和swiftch除了取模运算符,其他用法都一样 可以检测 //var num:UInt8 = 255 + 1 不可以检测 var num1: ...

  3. koala预编译工具的使用

    Koala是一个开源的预处理语言图形编译工具,目前已支持Less.Sass.Compass与CoffeeScript. 安装Koala 在Koala官网根据你的系统平台下载对应的版本.Linux系统要 ...

  4. jsonp跨域请求

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  5. 如何dos中查看当前MySQL版本信息?

    dos中MySQL安装服务成功--启动服务成功--登录MySQL成功后输入:select version();  如图:

  6. webform(八)——LinQ简单增、删、改、查

    一.简单介绍 1.LinQ to Sql类(NET Language Integrated Query (LINQ) ) LINQ定义了大约40个查询操作符,如select.from.in.where ...

  7. 常用ASCII CHR碼對照

    因為開發需求,把對照表留下來一下. Chr(0) Null Chr(29) 分组符 Chr(38) & Chr(48) 0 Chr(8) 退格 Chr(30) 記錄分離符號 Chr(39) ‘ ...

  8. mysql的缓冲查询和非缓冲查询

    最近在开发一个PHP程序时遇到了下面的错误: PHP Fatal error: Allowed memory size of 268 435 456 bytes exhausted 错误信息显示允许的 ...

  9. ubuntu安装pppoeconf后与networkmanager冲突

    使用pppoeconf拨号后,Network Manager显示设备未托管的解决办法: 在终端中输入以下命令,来配置网络连接管理文件: sudo gedit /etc/NetworkManager/n ...

  10. js入门学习~ 运动应用小例

    要实现的效果如下: 鼠标移入各个小方块,实现对应的效果(变宽,变高,移入透明,移出恢复)~~ (且各运动相互之前不干扰)  主要是练习多个物体的运动框架~~ --------------------- ...