问题描述
我想将一个字节数组附加到一个已经存在的文件 (C:\test.exe)
.假设有以下字节数组:
I would like to append a byte array to an already existing file (C:\test.exe)
. Assume the following byte array:
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 异常.因此,我很可能不得不将大数组拆分为多个部分,并将每个字节数组附加到文件末尾.
I would do this using File.WriteAllBytes, but I am going to be using an ENORMOUS byte array, and System.MemoryOverload exception is constantly being thrown. So, I will most likely have to split the large array up into pieces and append each byte array to the end of the file.
谢谢,
埃文
推荐答案
一种方法是创建一个 FileStream
和 FileMode.Append
创建模式.
One way would be to create a FileStream
with the FileMode.Append
creation mode.
打开文件(如果存在)并寻找到文件末尾,或创建一个新文件.
这看起来像:
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# 将字节数组附加到现有文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!