如何将数据附加到二进制文件?

ryu*_*ice 24 .net c#

我有一个二进制文件,我想在文件的末尾附加一大块数据,我怎样才能使用C#和.net实现这一点?在写入二进制文件的末尾时还有什么需要考虑的事项吗?非常感谢你的帮助.

Jes*_*cer 25

private static void AppendData(string filename, int intData, string stringData, byte[] lotsOfData)
{
    using (var fileStream = new FileStream(filename, FileMode.Append, FileAccess.Write, FileShare.None))
    using (var bw = new BinaryWriter(fileStream))
    {
        bw.Write(intData);
        bw.Write(stringData);
        bw.Write(lotsOfData);
    }
}
Run Code Online (Sandbox Code Playgroud)

  • @jdk - 当然会对基础数据*是*的假设做出很多*; 一个`byte []`肯定,这总是有意义的......但其他人的编码可能是*里程*. (2认同)

Mar*_*ell 6

您应该可以通过以下方式执行此操作Stream:

using (FileStream data = new FileStream(path, FileMode.Append))
{
    data.Write(...);
}
Run Code Online (Sandbox Code Playgroud)

至于考虑因素 - 主要是:基础数据格式支持是否附加?除非它是您自己的原始数据或文本等,否则很多都不会.例如,格式良好的xml文档不支持追加(不考虑最终的结束元素).也不会像Word文档那样.但有些人会这样做.所以; 你的数据是否正常......