它们之间到底什么关系,什么情况下谁发挥作用?我现在的情况是知其然不知其所以然,还请高手讲解

解决方案 »

  1.   


    StreamWriter只能是文本类型   继承自textWriter
    FileStream可以是任何类型FileStream对象表示在磁盘或网络路径上指向文件的流。这个类提供了在文件中读写字节的方法,但经常使用StreamReader或StreamWriter执行这些功能。这是因为FileStream类操作的是字节和字节数组,而Stream类操作的是字符数据。字符数据易于使用,但是有些操作,比如随机文件访问(访问文件中间某点的数据),就必须由FileStream对象执行.
      

  2.   

    这两天空闲时间我去查了查资料,发现StreamReader和Writer都以字符为单位进行读写,而Stream和FileStream以字节为单位。
    现在我糊涂的就是Stream和FileStream是什么关系,难道说FileStream派生自Stream?那派生的目的是什么,它包装了什么功能是Stream办不到的?
      

  3.   

    Stream是抽象类,是所有流的基类...FileStream是Stream的派生类,是以操作文件流为主的对象...StreamWriter是TextWriter抽象基类的派生类,是以特定编码向流中写入字符的编写器...这些MSDN都讲得非常清楚,一看就明白...你查的什么破资料?
      

  4.   

    Stream 的全路径是System.IO.Stream他是的一抽象类,是FileStream,BufferedStream,MemoryStream等流类型的父类,几乎所有的流对象都继承自System.IO.Stream.
    之所有FileStream是因为基于文件流的很多操作并不是父类所具有的,比如文件的访问控制,文件的锁定,文件的解除锁定,当然也有多个FileStream构造函数的重载方法,方便不同的时候传递文件路径等之类的参数对文件进行流读写。更详细的区别你可以在Visual Studio当中在System.IO.FileStream上点右键,然后转到定义,就可以看到FileStream当中不含override关键字的属性方法即为FileStream有而Stream没有的
      

  5.   


    ORZ...我竟然读掉了“Stream是所有流的抽象基类这句话”,谢谢提醒。
      

  6.   


    这下我懂了,原来FileStream的目的真是对Stream的功能扩展,谢谢