c#语言------------StreamReader和StreamWriter的常用方法

    FielStream类用来操作大文件以字节方式操作提供了读和写,而StreamReader和StreamWrite类用来操作大的文本文件,以字符的方式进行读和写,与File操作类中以字符的方式读取数据的区别是,StreamReader和StreamWrite可以对大文件循环读取,以减小内存压力,我们需要手动的关闭和释放资源

1、StreamReader:用来读取文本文件中的数据源代码中我们常用的方法有

     StreamReader常用的构造函数;

            public StreamReader(string path);

            public StreamReader(string path, Encoding encoding);

    StreamReader常用的属性和方法

 

           public bool EndOfStream { get; }
               获取一个值,该值表示当前的流位置是否在流的末尾。

 

               如果当前流位置位于流的末尾,则为 true;否则为 false。

 

           public override string ReadLine();
               从当前流中读取一行字符并将数据作为字符串返回。

 

               返回结果:输入流中的下一行;如果到达了输入流的末尾,则为 null。

 

StreamReader一行一行的读取文件事例:

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace StreamReaderAndStreamWrite
{
    class Program
    {
        static void Main(string[] args)
        {
            string path = @"C:\Users\fighting  man\Desktop\StreamReader\StreamReader的测试.txt";
            using (StreamReader sr = new StreamReader(path, Encoding.Default))
            {
                while (!sr.EndOfStream)
                {
                    Console.WriteLine(sr.ReadLine());
                }
            }
            Console.ReadKey();
        }
    }
}

运行结果

 

2、StreamWriter类常用的写入方法

     StreamWriter的构造函数:

 

           public StreamWriter(string path);

           public StreamWriter(string path, bool append);//是否追加

           public StreamWriter(string path, bool append, Encoding encoding);

     StreamReader常用属性和方法;

          public override Encoding Encoding { get; }

          public override void Write(char value);

          public override void Write(char[] buffer);

          public override void Write(string value);

          public override void Write(char[] buffer, int index, int count);

 

StreamWriter的使用事例:

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace StreamWriter使用
{
    class Program
    {
        static void Main(string[] args)
        {
            //用StreamWriter写入一个文本文件
            string path = @"C:\Users\fighting  man\Desktop\StreamReader\StreamWriter的测试.txt";
            using (StreamWriter sw = new StreamWriter(path,false, Encoding.Default))
            {
                sw.Write("艾弗森无敌");
            }
        }
    }
}

 

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值