问题描述
我想将一个字节数组附加到一个已经存在的文件(C: est.exe)
.假设如下字节数组:
I would like to append a byte array to an already existing file (C: est.exe)
. Assume the following byte array:
byte[] appendMe = new byte[ 1000 ] ;
File.AppendAllBytes(@"C: est.exe", appendMe); // Something like this - Yes, I know this method does not really exist.
我会使用 File.WriteAllBytes 来执行此操作,但我将使用一个 ENORMOUS 字节数组,并且会不断抛出 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.
如果文件存在则打开文件并查找文件末尾,或者创建一个新文件.
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#将字节数组附加到现有文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!