2017-07-18 59 views
0

即时通讯新的C#,但学习,因为我前进,所以请原谅我,如果我的问题可能对你们大多数人来说太简单了。 :-)我想将三个txt文件合并成一个单一的文件在c#

我的问题有两个部分。

  • 第一:我有三个TEXTFILES(固定名称)与完全以 不同的内容。我现在要将这些组合成一个单一的 文本文件。

  • 第二:在这个组合过程中,我还希望这些文件中的每个逗号(,)
    都被更改为输出组合文件中的点(。)。

我已经能够做到在VB与的ReadLine结合的StreamReader和StreamWriter类似的东西,但不能让它在C#中工作。

我很感激任何帮助,我可以得到。

/托马斯

+1

将3个文件读到字符串(谷歌它,它不难)为你的''''替换'',''''并且只加'+'它们对方 – EpicKip

回答

4

如果文件不是很大,你可以使用这个片段:

File.WriteAllText("newfile", String.Concat(File.ReadAllText("file1"),File.ReadAllText("file2"),File.ReadAllText("file3")).Replace(",",".")); 
2

一般情况下当文件长任意许多文件,你可以尝试LinqSelectMany

using System.IO; 
using System.Linq; 

... 

string[] fileNames = new string[] { 
    @"C:\MyFile1.txt", 
    @"C:\MyFile2.txt", 
    @"C:\MyFile3.txt", 
}; 

... 

File.WriteAllLines(@"C:\MyCombinedFile.txt", fileNames 
    .SelectMany(file => File.ReadLines(file)) 
    .Select(line => line.Replace(',', '.'))); 
0
string[] files = new string[]{ @"E:\myfile1.txt", @"E:\myfile2.txt", @"E:\myfile3.txt" }; 

     string fileContent = string.Empty; 
     foreach (var fileName in files) 
     { 
      using (System.IO.StreamReader Reader = new System.IO.StreamReader(fileName)) 
      { 
       fileContent += Reader.ReadToEnd(); 
      } 
     } 
     fileContent = fileContent.Replace(',', '.'); 

     System.IO.File.WriteAllText(@"E:\myfile.txt", fileContent); 
+0

谢谢你们。问题解决了。你摇滚! :-) –

相关问题