在C#中读取流

时间:2017-09-20 05:03:15

标签: c# stream

此代码是读取流

OpenFileDialog op = new OpenFileDialog();
op.ShowDialog();
Stream stream=File.Open(op.FileName,FileMode.Open);
byte[] bytes=new byte[stream.Length];
stream.Read(bytes,0,10); **//problam is in this line**
MessageBox.Show(System.Text.Encoding.UTF8.GetString(bytes));

此代码有效,但如果我在最后MessageBox中更改了有符号行中的零,则不会显示任何内容。

如何解决此问题?

1 个答案:

答案 0 :(得分:0)

这是您要阅读的部分的起始索引,如果您更改此部分,则不会从头开始读取该文件。

要从文件中读取内容,这是我最喜欢的方法:

using (var op = new OpenFileDialog())
{
    if (op.ShowDialog() != DialogResult.OK)
        return;
    using (var stream = System.IO.File.OpenRead(op.FileName))
    using (var reader = new StreamReader(stream))
    {
        MessageBox.Show(reader.ReadToEnd());
    }
}