我用webbrowser加载一个网页,想把网页中相关的信息写如到一个文档!有什么好办法~!!
加载页面后有个文件流 this.webBrowser1.DocumentStream,如何把这个流写入到一个文件~!!或者有没有其他办法?

解决方案 »

  1.   

    FileStream stream=new FileStream("C:\1.html");
    StreamWriter writer=new StreamWriter(stream);
    writer.Write(this.webBrowser1.DocumentText);
    writer.Close();
      

  2.   

    .net中的IO体系介绍
    .net中对于IO流的支持分为两个层次:基于字节和基于字符两种方式。 基于字节的方式:基于字节的方式适用于任何场合,因为任何文件的数据都是基于字节的方式有序存放的。基于字节的方式适用于操作二进制文件,比如exe文件、视频、音频文件等等。 Stream抽象类是所有基于字节方式的流的父类。Stream及其子类具有三个方面的特征:支持从流读取。可以从流中读取单个字节或者一次性读取多个字节,将读取到的多个字节存储到字节数组中。支持向流写入。可以向流中写入单个字节或者一次性写入多个字节,如果要一次性写入多个字节,可以将多个字节构成一个字节数组,作为写入方法的参数。基于字符的方式对于东亚语系的国家而言,每个字符都是占用两个字节(采用Unicode编码),每次向文件读取和写入的时候基于字节的方式相对较为繁琐:写入的时候需要将字符串转换成字节数组,读取的时候需要将读取到的字节数组转换成字符串。为此,.net提供了一种更直接的方式,那就是基于字符的操作。基于字符的方式相对就方面多了,我们可以指定一次性读/写入多个字符,或者一次性读/写入一行,或者一次性写入一个字符串,
      

  3.   

       byte[] _HtmlByte = new byte[WebBrowser1.DocumentStream.Length];
                WebBrowser1.DocumentStream.Position = 0;
               WebBrowser1.DocumentStream.Read(_HtmlByte, 0, _HtmlByte.Length);           System.IO.FileStream _FileStream = new System.IO.FileStream(@"C:\1.HTM", System.IO.FileMode.Create);
               _FileStream.Write(_HtmlByte, 0, _HtmlByte.Length);
               _FileStream.Close();WebBrowser1.DocumentStream.Length 不知道能不能获取的到...你判断下WEBBROWSER1的状态再获取..或则用异步方式来取
      

  4.   

    谢谢,不过我想写入到txt文件中
    中文都没掉了怎么办?