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

时间:2023-03-09 16:46:41
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');