zoukankan      html  css  js  c++  java
  • C#流(stream)

    流用于对IO处理 

    在System.IO名称空间中有以下类 

    BinaryReader/Writer 

    TextReader/Writer 

    Stream 

    其中类Stream为抽象类。由此有三个派生类: 

    MemoryStream:对内存进行读取与写入 

    BufferedStream:对缓冲器进行读取/写入 

    FileStream:对文件执行读取与写入 

    TextReader/Writer为抽象类。由此派生类: 

    StreamReader/StreamWirter 

    StringReader/StringWriter 

    需要引入命名空间: 

    using System.IO

    复制代码
    内存流与缓冲的使用举例: 
    
    MemoryStream memStream=new MemoryStream(); 
    
    BufferedStream bufStream=new BufferedStream(memStream); 
    
    byte[] b=new byte[10]; 
    
    for(int i=0;i<10;i++) 
    
    { 
    
    bufStream.WriteByte((byte)i); 
    
    } 
    
    bufStream.Position=0; 
    
    bufStream.Read(b,0,9); 
    
    for(int i=0;i<10;i++) 
    
    { 
    
    Console.WriteLine("读的值是:{0}",b[i]); 
    
    } 
    
    Console.WriteLine("值是:{0}",bufStream.ReadByte()); 
    
    Console.ReadLine(); 
    复制代码
    复制代码
    文件流的使用 
    
    string s=Console.ReadLine(); 
    
    FileStream fileStream=new FileStream(s,FileMode.OpenOrCreate); 
    
    BinaryWriter binStream=new BinaryWriter (fileStream); 
    
    for(int i=1;i<=10;i++) 
    
    { 
    
    binStream.Write((int)i); 
    
    } 
    
    binStream.Close(); 
    
    fileStream.Close(); 
    
    FileStream f=new FileStream(s,FileMode.Open,FileAccess.Read,FileShare.ReadWrite); 
    
    BinaryReader buf=new BinaryReader(f); 
    
    for(int i=1;i<10;i++) 
    
    { 
    
    
    Console.WriteLine("输出{0}",buf.ReadByte ()); //在vs2012中这样不能读出东西来
    
    Console.WriteLine("输出{0}",Bur.ReadInt32());才行,因为int是32位的
    
    }
    复制代码
    复制代码
    文本流的使用 
    
    string fileName,s; 
    
    fileName=Console.ReadLine(); 
    
    StreamWriter fn=new StreamWriter(fileName,true); 
    
    for(int i=1;i<10;i++) 
    
    { 
    
    s=Console.ReadLine(); 
    
    fn.WriteLine(s); 
    
    } 
    
    fn.Close(); 
    
    StreamReader fr=new StreamReader(fileName); 
    
    
    for(int i=1;i<10;i++) 
    
    { 
    
    s=fr.ReadLine(); 
    
    Console.WriteLine(s); 
    
    } 
    
    fr.Close(); 
    
    Console.ReadLine(); 
    复制代码
    复制代码
    字符串流的使用 
    
    using System.Text; 
    
    StringBuilder str=new StringBuilder(100,1000); 
    
    StringWriter sw=new StringWriter(str); 
    
    for(int i=1;i<5;i++) 
    
    { 
    
    sw.Write(Console.ReadLine()); 
    
    } 
    
    sw.Close(); 
    
    Console.WriteLine(sw.ToString()); 
    
    StringReader sr=new StringReader(sw.ToString()); 
    
    Console.WriteLine(sr.ReadLine()); 
    
    Console.ReadLine();
  • 相关阅读:
    监听Windows消息
    把遇到过的对.Net线程的一些问题和误解集中起来和大家分享,也希望大家能一起补充,热烈欢迎讨论(转)
    推荐一个好工具:P/Invoke Interop Assistant (转)
    其它操作EDM的方式 (转载)
    DotNet(C#)自定义运行时窗体设计器 一
    通过监听Windows消息对复合控件进行整体控制(C#)一
    DotNet(C#)自定义运行时窗体设计器Runtime FormDesigner(转载)
    C# 枚举中的位运算
    Linux下cat 命令
    小端字节序与大端字节序
  • 原文地址:https://www.cnblogs.com/vaevvaev/p/7150519.html
Copyright © 2011-2022 走看看