将二进制文件读取到文本块中
本文关键字:文本 二进制文件 读取 | 更新日期: 2023-09-27 18:00:02
我想将exe或任何二进制文件内容读取到C#中的文本块中。我有以下代码,但当我开始读取文件时,应用程序会被卡住。我的代码如下:
using (FileStream fs1 = new FileStream(FPath, FileMode.Open, FileAccess.Read))
{
byte[] buf = new byte[1024];
int size = 0;
while ((size = fs1.Read(buf, 0, buf.Length)) > 0)
{
Console.Write("[" + buf.Length + "/" + size + "]");
textBox.Text += encoding.default.getstring(buf)
}
}
请指导我如何解决这个问题。
如果您只想读取整个文件,可以使用file.ReadAllBytes.
byte[] bytes = File.ReadAllBytes(FPath);
textBox.Text = Encoding.Default.GetString(bytes);
当你读取块时,这些可能不代表一个完整的可解码字符串:有时字符需要多个字节,而这些字符可能会变成不同的块。
您可以使用System.IO的StreamWriter类。。这是一个样品。。
using( StreamReader sr = new StreamReader( FPath ) )
{
textBox.Text = sr.ReadToEnd( );
}