36 c# arrays byte 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.
Run Code Online (Sandbox Code Playgroud)
我会使用File.WriteAllBytes这样做,但我将使用一个ENORMOUS字节数组,并且不断抛出System.MemoryOverload异常.因此,我很可能不得不将大数组拆分成多个并将每个字节数组附加到文件的末尾.
谢谢,
埃文
Ani*_*Ani 59
一种方法是FileStream
使用FileMode.Append
创建模式创建.
打开文件(如果存在)并搜索文件的末尾,或创建新文件.
这看起来像是这样的:
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);
}
}
Run Code Online (Sandbox Code Playgroud)
您也可以使用内置功能FileSystem.WriteAllBytes Method (String, Byte[], Boolean)
.
public static void WriteAllBytes(
string file,
byte[] data,
bool append
)
Run Code Online (Sandbox Code Playgroud)
设置追加为True以附加到文件内容; False覆盖文件内容.默认值为False.