zoukankan      html  css  js  c++  java
  • stream reader and stream writer (file stream)

    在读写文件的过程中,Filestream只可以进行以字节为单位原始数据流进行读写操作,为此,C#中提供了功能更加强大的StreamReader/ StreamWriter来支持文件的读写. StreamReader/ StreamWriter可以进行以字符为单位的数据读写操作..

    一. 用StreamReader的构造函数

    StreamReader有很多的构造函数:在这里只列出两个常用和比较常见的

    StreamReader  sr=new StreamReader (Stream); Stream可以是Filestream;

    StreamReader  sr=new StreamReader (String); String为指定的文件名初始化 StreamReader 类的新实例。

    例如:

    //demo1

    FileStream filest = new FileStream(@"c:\abc.txt", FileMode.Open, FileAccess.ReadWrite); StreamReader sr = new StreamReader(filest);

    //demo2

    StreamReader another = new StreamReader(@"c:\abc.txt");

    两个StreamReader都指向同一个文件.

    StreamReader读取文件中的数据的代码:

    FileStream filest = new FileStream(@"c:\abc.txt", FileMode.Open, FileAccess.ReadWrite);

    StreamReader sr = new StreamReader(filest);

    string strLine = sr.ReadLine();//读取文件中的一行

    while(strLine!=null)//判断是否为空,表示到文件最后一行了

    {

    Console.WriteLine(strLine);

    strLine = sr.ReadLine();

    }

    sr.Close();//关闭流

    filest.Close();

    程序运行结果和盘中abc.txt文件中的内容比较如下:

      

    二. StreamWriter

    StreamWriter 专门用于的向文件中写数据的,它和StreamReader类似,只是一个负责向文件中写数据,一个负责向文件中读数据而已.

    StreamWriter 构造函数也有很多.在这里只举例两个构造函数.

    StreamWriter  sr=new StreamWriter (Stream); Stream可以是Filestream;

    StreamWriter  sr=new StreamWriter (String); String为指定的文件名初始化StreamWriter 类的新实例。

    例如:

    //demo1

    FileStream filest = new FileStream(@"c:\abc.txt", FileMode.Open, FileAccess.ReadWrite); StreamWriter sw = new StreamWriter (filest);

    //demo2

    StreamWriter another = new StreamWriter (@"c:\abc.txt");下面的例子可以让大家掌握写文件的方法.

    FileStream filewriter = new FileStream(@"C:\abc.txt", FileMode.Append, FileAccess.Write);

    以追加的方式打开文件,并进行写入操作.

    StreamWriter sw = new StreamWriter(filewriter); 构造函数;

    for (char mychar = 'a'; mychar <= 'z'; mychar++)

    {

    sw.Write(mychar);//将从a—z26个小写字母写入文件中.

    }

    sw.Close();filewriter.Close();

    //demo

    FileStream filest = new FileStream(@"c:\abc.txt", FileMode.Open, FileAccess.ReadWrite);

    StreamReader sr = new StreamReader(filest);

    string strLine = sr.ReadLine();

    while(strLine!=null)

    {

    Console.WriteLine(strLine);

    strLine = sr.ReadLine();

    }

    sr.Close();

    filest.Close();

      

    以上两图是输出内容和abc.txt中内容的比较.

    请大家仔细研读本程序.

  • 相关阅读:
    国内10大前端团队网站
    可视化搭建前端工程
    Vue CLI环境变量和模式
    BetterScroll:可能是目前最好用的移动端滚动插件
    洛谷月赛
    CF438D The Child and Sequence
    P1447 [NOI2010]能量采集
    Cow Relays,过N条边的最短路
    Numerical Sequence(hard version),两次二分
    洛谷P3237 米特运输
  • 原文地址:https://www.cnblogs.com/henyihanwobushi/p/2644009.html
Copyright © 2011-2022 走看看