C#将多个文本内容整合到一个文本中

        private void ForeachFiles(string path,bool isOne,string tempFile)
        {
            DirectoryInfo theFolder = new DirectoryInfo(path);//path 选择文件夹路径
            DirectoryInfo[] dirInfo = theFolder.GetDirectories();//获取所在目录的文件夹
            FileInfo[] file = theFolder.GetFiles();//获取所在目录的文件

            int successCount = allCount;//共几次进度条改变,根据文件数量来
            if (isOne)//判断是否是第一次进入
            {

                TimeSpan ts = DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0);
                tempFile = this.textBox1.Text + @"/" + Convert.ToInt64(ts.TotalSeconds).ToString() + ".txt";//生成一个路径
            }
            string str = "";
            foreach (FileInfo fileItem in file) //遍历文件
            {
                var fileName = fileItem.Name;//文件名字
                var dirName = fileItem.DirectoryName;//文件所在文件夹路径
                var sReader = fileItem.OpenText();
                str += "#"+fileName + "\n" + sReader.ReadToEnd();//读取文件名称+读取文件内容,字符串
                sReader.Close();//记得关闭
            }
            //判断文件是否存在
            if (!File.Exists(tempFile))
            {
                //如果不存在就创建文件
                try
                {
                    File.Create(tempFile).Close();
                }
                catch (Exception e)
                {
                }
            }
            //内容不为空时才往文本中添加内容
            if(!string.IsNullOrEmpty(str)){
            //写入数据到文本中,每次都是在原数据基础上内容累加
            FileStream fs = new FileStream(tempFile, FileMode.Append);
            StreamWriter sw = new StreamWriter(fs);
            sw.WriteLine(str);
            sw.Close();
            fs.Close();
            }
                
            //遍历文件夹
            foreach (DirectoryInfo NextFolder in dirInfo)
            {
                ForeachFiles(NextFolder.FullName,false, tempFile);//运用递归,有多少个文件夹就循环几次
            }
        }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值