C# 将字节数组写入文件
我尝试将C# 将字节数组写入文件,c#,.net,C#,.net,我尝试将字节数组写入txt文件,结果是gibrish而不是我的字节 这是我的职责: public bool ByteArrayToFile(string _FileName, byte[] _ByteArray) { try { // Open file for reading System.IO.FileStream _FileStream = new System.IO.FileStream(_FileName, System.IO.F
字节数组
写入txt文件
,结果是gibrish而不是我的字节
这是我的职责:
public bool ByteArrayToFile(string _FileName, byte[] _ByteArray)
{
try
{
// Open file for reading
System.IO.FileStream _FileStream =
new System.IO.FileStream(_FileName, System.IO.FileMode.Create,
System.IO.FileAccess.Write);
// Writes a block of bytes to this stream using data from
// a byte array.
_FileStream.Write(_ByteArray, 0, _ByteArray.Length);
// close file stream
_FileStream.Close();
return true;
}
catch (Exception _Exception)
{
// Error
Console.WriteLine("Exception caught in process: {0}",
_Exception.ToString());
}
// error occured, return false
return false;
}
结果是:
"3DUf " E _Xu €ˆ
=2‡¬1p% n Kפ C
您编写的代码看起来还可以,但更简单的解决方案是:
public bool ByteArrayToFile(string fileName, byte[] byteArray)
{
System.IO.File.WriteAllBytes(fileName, byteArray);
return true;
}
我尝试将字节数组写入txt文件
在这种情况下,字节数组应该是某种编码中文本的正确表示形式
我怀疑您在生成byteArray
的步骤中存在一些编码问题
using
,或者在finally
块中调用Close()
您希望输出是什么样子?如何生成
\u ByteArray
?此外,您的命名约定很奇怪,局部变量应该是camelCase
,没有下划线。在.Net中,返回bool表示成功/失败也是不受欢迎的。异常应该是用于指示失败的方法。我只想删除try/catch-让任何错误冒泡,直到您能够真正有意义地处理它,即使这只是一个顶级处理程序记录它并退出。您的代码就其目的而言是正确的,请向我们显示\u ByteArray
变量内容。此内容是来自PcapDotNet项目的数据包字节[](packet.buffer return byte[])此内容是来自PcapDotNet项目的数据包字节[](packet.buffer返回字节[])