我尝试将byte array
写入txt file
,结果是乱码而不是我的字节
这是我的功能:
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
答案 0 :(得分:5)
您的编写代码看起来不错,但更简单的解决方案:
public bool ByteArrayToFile(string fileName, byte[] byteArray)
{
System.IO.File.WriteAllBytes(fileName, byteArray);
return true;
}
我尝试将字节数组写入 txt文件
在这种情况下,在某些编码中,字节数组应该是文本的正确表示。
我怀疑在生成byteArray
的步骤中存在一些编码问题。
答案 1 :(得分:0)
using
用于文件流,或在Close()
块中调用finally