首页 > 解决方案 > 将文件内容附加到现有文件

问题描述

如何将文件的内容(任何文件扩展名)附加到具有相同扩展名的现有文件中?我试过这个

System.IO.File.AppendAllLines(dest_path, System.IO.File.ReadAllLines(fi));

但这仅适用于 .txt 文件

标签: c#asp.net

解决方案


我知道您想将一组文件连接在一起,例如 DOS 命令copy /b a.pdf + b.pdf both.pdf- 读取 N 个文件的所有字节并将它们全部附加到单个文件中。


    using (var stream = new FileStream(pathOfFileToAppendTo, FileMode.Append))
    {
        foreach(var pathOfFileToAppend in ...) {
            var bytes = File.ReadAllBytes(pathOfFileToAppend);
            stream.Write(bytes, 0, bytes.Length);
        }
    }

如果您要附加的文件非常大,您可能需要一种流式方法,而不是使用 ReadAllBytes 将它们全部读入内存。这...是一些字符串文件名的数组/列表/可枚举,就像您可能从中获得的一样,Directory.GetFiles但它可以是任何文件路径集。


推荐阅读