NET中级课--文件,流,序列化2

1.流的类型体系:

  基础流    装饰器流    包装器类    帮助类

2.               stream

   file~     memory~     network~

  stream是个抽象类,其中的方法要么抽象要么虚拟(virtual)

3.装饰器流:继承自stream类,又包含了stream类的引用。如bufferedstream   Gzipstream 

 装饰器模式的目的:为现有类添加功能。

4.包装器类:注意是类,而不是流。即它们不是流类型但包含了流的引用,提供了对流进行操作的简便方法。

                用于读取文件内容。

    textreader textwriter是基类,这俩个类和流无关,只是定义了读取和写入字符数据的方式。

    streamreader streadwriter 是子类。streamreader:将流中内容读取为字符。streamwrite将字符写入流。

    stringreader,stringwirte也是子类,不过只是读取和处理字符串不处理流。

string text=@"产品:Lumia 920  
                       售价:4998";
stringreader reader=new stringreader(text);
int c =reader.read();
console.write((char)c);   //输出: 产

char[]  buffer=new char[8];
rader.read(buffer,0,buffer.length);
console.write(string.join("",buffer));//品:Lumia  


//假设上面的text字符串保存在文件中  只要将stringreder换成streamreader
filestream fs=new filestrem(......);
streamreader reader=new streamreader(fs,encoding.getencode("GB2312"));

  编码方式:凡是涉及到文本文件必有编码问题。编码定义了字节如何转换成可读的字符或者文本。可以想象是字节和字符的对应关系表。

  5.帮助类 与流的关系不很密切,但可以使得文件流的操作简单。

              file  fileinfo  path  directory  diretoryinfo 

filestream fs=file.create("1.txt');

  

    

          

                 

posted @ 2015-11-28 16:23  王乐  阅读(170)  评论(0编辑  收藏  举报