是否可以将字节[]数组写入C#文件中?

我试图写出一个表示完整文件的Byte[]数组到一个文件。

来自客户端的原始文件通过TCP发送,然后由服务器接收。 接收到的流被读取到一个字节数组,然后发送给这个类来处理。

这主要是为了确保接收TCPClient已准备好接收下一个流,并将接收端与处理端分开。

FileStream类不会将字节数组作为参数或另一个Stream对象(它允许您将字节写入它)。

我打算通过与原始版本(使用TCPClient的版本)不同的线程完成处理。

我不知道如何实现这一点,我应该尝试什么?


根据问题的第一句话:“我试图写出一个代表完整文件的Byte []数组到文件。”

阻力最小的路径是:

File.WriteAllBytes(string path, byte[] bytes)

记录在这里:

System.IO.File.WriteAllBytes - MSDN


您可以使用BinaryWriter对象。

protected bool SaveData(string FileName, byte[] Data)
{
    BinaryWriter Writer = null;
    string Name = @"C:tempyourfile.name";

    try
    {
        // Create a new stream to write to the file
        Writer = new BinaryWriter(File.OpenWrite(Name));

        // Writer raw data                
        Writer.Write(Data);
        Writer.Flush();
        Writer.Close();
    }
    catch 
    {
        //...
        return false;
    }

    return true;
}

编辑:哎呀,忘了finally一部分...让我们说这是留给读者的练习;-)


有一个静态方法System.IO.File.WriteAllBytes

链接地址: http://www.djcxy.com/p/36437.html

上一篇: Can a Byte[] Array be written to a file in C#?

下一篇: PDF redirection shows blank on Chrome