是否可以将字节[]数组写入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