zoukankan      html  css  js  c++  java
  • 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');
    

      

        

              

                     

  • 相关阅读:
    【Learning】积性函数前缀和——洲阁筛(min_25写法)
    GDOI2018记录
    最近公共祖先(一道题目)
    Counting
    【BZOJ4872】【Shoi2017】分手是祝愿
    【BZOJ2654】tree
    数学竞赛
    A
    【bzoj 3131】[Sdoi2013]淘金
    【Never Stop】联赛集训记录
  • 原文地址:https://www.cnblogs.com/tiantianle/p/5002889.html
Copyright © 2011-2022 走看看