相关疑难解决方法(0)

在C#中连接三个文件的最快方法是什么?

我需要使用C#连接3个文件.头文件,内容和页脚文件,但我想这样做很酷.

酷=非常小的代码或非常快(非汇编代码).

c# file

20
推荐指数
4
解决办法
3万
查看次数

将多个文件合并为单个文件

码:

static void MultipleFilesToSingleFile(string dirPath, string filePattern, string destFile)
{
    string[] fileAry = Directory.GetFiles(dirPath, filePattern);

    Console.WriteLine("Total File Count : " + fileAry.Length);

    using (TextWriter tw = new StreamWriter(destFile, true))
    {
        foreach (string filePath in fileAry)
        {
            using (TextReader tr = new StreamReader(filePath))
            {
                tw.WriteLine(tr.ReadToEnd());
                tr.Close();
                tr.Dispose();
            }
            Console.WriteLine("File Processed : " + filePath);
        }

        tw.Close();
        tw.Dispose();
    }
}
Run Code Online (Sandbox Code Playgroud)

我需要优化它,因为它非常慢:平均大小为40 - 50 Mb XML文件的45个文件需要3分钟.

请注意:45个平均45 MB的文件只是一个例子,它可以是大小n的文件m数,其中n有数千个m,平均可以是128 Kb.简而言之,它可以变化.

您能否提供有关优化的任何观点?

.net c# file-io copy

16
推荐指数
1
解决办法
4万
查看次数

如何使用C#将多个文本文件合并到一个文本文件中?

我想将目录中所有制表符分隔的文本文件合并到一个巨大的文本文件中.这些文件没有标题,所有文件中的列都相互正确对齐,所以我们假设我们不必担心格式化一致性问题.

我只需要按顺序拼接/加入/合并所有文件.

这是我的代码:

    string[] array = Directory.GetFiles(@"C:\MergeThis", "*.txt");

    System.Text.StringBuilder sb = new System.Text.StringBuilder();

    for (int nCount = 0; nCount <= array.Count(); nCount++)
    {
        sb.Append(System.IO.File.ReadAllText(array[nCount])); 
    }

    string output = sb.ToString();    

    string outputFilePath = @"C:\MERGED DATA.txt";
    System.IO.File.WriteAllText(outputFilePath, output);
Run Code Online (Sandbox Code Playgroud)

我的问题是......有更好/更快/更简洁的方法吗?

c# io

3
推荐指数
1
解决办法
6451
查看次数

标签 统计

c# ×3

.net ×1

copy ×1

file ×1

file-io ×1

io ×1