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

C# Append byte array to existing file(C#将字节数组附加到现有文件)

本文介绍了C#将字节数组附加到现有文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想将一个字节数组附加到一个已经存在的文件(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#将字节数组附加到现有文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:C#将字节数组附加到现有文件