private void 打开oToolStripMenuItem_Click(object sender, EventArgs e)
{
if (ofd.ShowDialog() == DialogResult.Cancel)
{
return;
}
FileStream fsopen = File.OpenRead(ofd.FileName);
Encoding ed = Encoding.Default;
byte[] b = ed.GetBytes(?????);
fsopen.Read(b, 0, b.Length);
fsopen.Close();
}
问题:我要打开一个文件,ofd是OpenFileDialog的名字。请问,(括号中的问号部分)怎样才能把要打开的txt的文件的内容放到打问号的括号里去?
{
if (ofd.ShowDialog() == DialogResult.Cancel)
{
return;
}
FileStream fsopen = File.OpenRead(ofd.FileName);
Encoding ed = Encoding.Default;
byte[] b = ed.GetBytes(?????);
fsopen.Read(b, 0, b.Length);
fsopen.Close();
}
问题:我要打开一个文件,ofd是OpenFileDialog的名字。请问,(括号中的问号部分)怎样才能把要打开的txt的文件的内容放到打问号的括号里去?
最简单的实现如下:
string txt = File.ReadAllText(ofd.FileName);想要换成byte[]也很容易:
byte[] txt = File.ReadAllBytes(ofd.FileName);需要在string和byte[]之间转换就需要研究一下Encoding的相关用法了。
比如:
Encoding.Default.GetBytes() => 将string转成byte[]
Encoding.Default.GetString() => 将byte[]转成string
Encoding ed = Encoding.Default; byte[] b =new byte[fsopen.Length];fsopen.Read(b, 0, b.Length);