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

    http://www.cnblogs.com/liuxinls/archive/2013/02/15/2912968.html

     

    流用于对IO处理

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

    BinaryReader/Writer

    TextReader/Writer

    Stream

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

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

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

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

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

    StreamReader/StreamWirter

    StringReader/StreamWriter

    需要引入命名空间:

    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());才行,因为int32位的

     

    }

    文本流的使用

     

    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();

  • 相关阅读:
    vsftpd的详细配置讲解
    ActiveMQ安装与配置
    Apache安装完之后再安装其他模块
    搭建 LAMP apache2.4 + php5.5 + mysql5.5/6 配置文件没有作用的问题
    LAMP apache2.4 + php5.5 + mysql5.5/6
    进制之间的转换
    Mac 常用属性
    关于颜色值透明度的设置
    关于TextView 的属性
    Android 关于软键盘
  • 原文地址:https://www.cnblogs.com/qq260250932/p/5353720.html
Copyright © 2011-2022 走看看