C# 将字节数组 append 到现有文件

标签 c# arrays byte append concatenation

我想将一个字节数组 append 到一个已经存在的文件 (C:\test.exe)。假设以下字节数组:

byte[] appendMe = new byte[ 1000 ] ;

File.AppendAllBytes(@"C:\test.exe", appendMe); // Something like this - Yes, I know this method does not really exist.

我会使用 File.WriteAllBytes 执行此操作,但我将使用一个巨大的字节数组,并且不断抛出 System.MemoryOverload 异常。因此,我很可能必须将大数组拆分成多个部分,并将每个字节数组 append 到文件末尾。

谢谢,

埃文

最佳答案

一种方法是创建一个 FileStreamFileMode.Append创作模式。

Opens the file if it exists and seeks to the end of the file, or creates a new file.

这看起来像:

public static void AppendAllBytes(string path, byte[] bytes)
{
    //argument-checking here.

    using (var stream = new FileStream(path, FileMode.Append))
    {
        stream.Write(bytes, 0, bytes.Length);
    }
}

关于C# 将字节数组 append 到现有文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6862368/

相关文章:

java - 我如何从java中的InputStream中提取某些模式,然后放入byteArray中

java - 为什么在 JAVA 中按位 AND with byte 这样做?

c# - 从多个表创建 LINQ 选择

c# - 使用 Roslyn 时如何验证方法中的参数类型

python - 将空数组传递给 sum() 和 product()

javascript - 如何在完成具有 axios 调用的 for/forEach 循环执行后调用语句?

c# - 以编程方式检索 Outlook 照片,无需最终用户登录

javascript - 运行 C# 代码后禁用 aspx 页面中的按钮

python - 如何重写使用 numpy 数组附加到列表的代码

c++ double 到字节数组