读取一个文件夹下所有的txt文件,并保存到一个txt文本中
作者:C/S框架网  发布日期:2011/05/09 11:21:24
读取一个文件夹下所有的txt文件,并保存到一个txt文本中

读取一个文件夹下所有的txt文件,并保存到一个txt文本中.
支持中文简体及繁体.

using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;
using System.IO;

namespace TechProject
{
   /// <summary>
   /// 枚举文件及组合文件
   /// </summary>
   public class EnumTextFiles
   {
      /// <summary>
      ///获取目录所有文本文件
      /// </summary>
      private string[] GetTextFiles(string dir)
      {
         string[] files = Directory.GetFiles(dir, "*.txt");
         return files;
      }
      
      /// <summary>
      /// 组合目录下所有文件文件
      /// </summary>
      public string CombineAllTextFile(string dir)
      {
         //大文本处理要使用StringBuilder类。C#.net字符直接相加效率很低。
         StringBuilder sb = new StringBuilder();
         
         string[] fs = GetTextFiles(dir);
         
         foreach (string txt in fs)
         {
            string tmp = File.ReadAllText(txt, Encoding.Default);
            sb.Append("File:" + txt);
            sb.Append(tmp);
            sb.Append("--------------------------------");
            sb.Append(""); //不同文件断行处理
         }
         return sb.ToString();
      }
      
      /// <summary>
      /// 保存新文件
      /// </summary>
      public void SaveText(string contents, string savePath)
      {
         File.WriteAllText(savePath, contents,Encoding.Default);
      }
      
   }
}


Tester:

private void button5_Click(object sender, EventArgs e)
{
   EnumTextFiles mgr = new EnumTextFiles();
   string contents = mgr.CombineAllTextFile(@"c:\");
   mgr.SaveText(contents, @"c:\new.txt");
}


上一篇 下一篇