我可能有多个不同文件名不同内容txt文件,现在我要将读取每个txt文件从第二行读取数据,把读出数据合并到另外一个新txt文件里.
例如:
H20070704.txt 这是第一个文件 内容如下:
D T AB AA AD AC AF\\\\\\\\\\    注释这是第1个文件第1行内容
2007/07/04 00:00:02 0 293 0 254 \\\\\\   //注释这是第1个文件第2行内容
2007/07/04 03:00:00 0 276 0 276 \\\\\\  //注释这是第1个文件第3行内容
.....................................省掉的数据H20070714.txt 这是第二个文件 内容如下:
AEMX AFMXT ABMX AAMX ABMXT \\\\\\\\\\   //注释这是第二个文件第1行内容
2007/07/14 01:00:00 0 116 0 49 2 \\\\\\\\\\    //注释这是第二个文件第2行内容
2007/07/14 02:00:00 0 148 0 83 5  //注释这是第二个文件第3行内容
.....................................省掉的数据我要合并成新文件H200707.txt 内容如下:
2007/07/04 00:00:02 0 293 0 254 \\\\\\   //注释这是第1个文件第2行内容
2007/07/04 03:00:00 0 276 0 276 \\\\\\   //注释这是第1个文件第3行内容
2007/07/14 01:00:00 0 116 0 49 2 \\\\\\\\\\    //注释这是第二个文件第2行内容
2007/07/14 02:00:00 0 148 0 83 5  //注释这是第二个文件第3行内容
请问C#代码 怎么实现,请指教!谢谢了!

解决方案 »

  1.   

    你这个倒是简单,从第二行就读。
    FileStream fs = new FileStream("e:/1.TXT", FileMode.Open, FileAccess.Read);
    StreamReader sr = new StreamReader(fs, System.Text.Encoding.Default);            
    string str = sr.ReadLine();                      //如果 文件有内容 
    string content = "";
    int flag=1;
    while (str != null)
    {
       content += flag>1?"\r\n" + str:"";
       flag++;
       str = sr.ReadLine();
    }fs = new FileStream("e:/2.TXT", FileMode.Open, FileAccess.Read);
    sr = new StreamReader(fs, System.Text.Encoding.Default);            
    str = sr.ReadLine();                      //如果 文件有内容 
    flag=1;
    while (str != null)
    {
       content += flag>1?"\r\n" + str:"";
       flag++;
       str = sr.ReadLine();
    }sr.Close();
    fs.Close();然后写入第三个文件就ok了。
      

  2.   

    我想了一个简单的方法:
                using (StreamReader sr = new StreamReader("c:\\test.txt"))
                using (RichTextBox rtb = new RichTextBox())
                {
                    rtb.Text = sr.ReadToEnd();
                    string[] slines = rtb.Lines;     
                    //第一行
                    string first = slines[0];
                }
      

  3.   

     StreamReader sr = File.OpenText(fname);
     StreamReader srReadLine = new StreamReader(fname, System.Text.Encoding.GetEncoding("GB2312"));
     string line;
     int i = 0;
    int j = 0;
    line = sr.ReadLine();
    if (line != null)
    {  while (line != null)
      {
         line = sr.ReadLine();     if (line != null)
         {
            i++;
            string[] s2 = line.Split(new char[] { ',' });
            FileStream fs = File.Open("\\DiskOnChip\\temp\\"+ s2[6] + ".temp", FileMode.OpenOrCreate);
            num[i] = s2[6];
            StreamWriter sw = new StreamWriter(fs);
            sw.WriteLine(line.ToString());
            j = i;
            if (i == line.Length)//循环所有行
             {
               break;
            }
            sw.Close();
            fs.Close();
          }
         }
       sr.Close();//关闭
    }以前写的类似的东西,看看吧
      

  4.   

    string srcDir=@"c:\srcdir";//  所有需合并文件都在这个目录下
    string desFile=@"c:\desdir\total.txt"; //最后写入的文件,存在这个目录下
    string[] srcFiles = Directory.GetFiles(srcDir);
    StreamWriter writer = new StreamWriter(desFile);
    writer.WriteLine("这文件列标题");string temp1;
    foreach(string file in srcFiles)
    {
       StreamReader reader=new StreamReader(file);
       try
      {
        reader.ReadLine();
        do 
        {
         temp1=reader.ReadLine(); 
         temp1=temp1.Trim();//开头和结尾去空格 
         writer.WriteLine(temp1);
        }
        while(reader.Peek() != -1); 
      } 
       catch( Exception err) 
      {
        MessageBox.Show(err.Message); 
      } 
      finally
      {
         writer.Flush();
         writer.Close();
        reader.Close();
      }
    }其实,合并文本使用copy就可以了