[正文]流-StreamReader和TextReader


            #region StreamReader

            StreamReader sr1 = new StreamReader(std1, Encoding.Default);

            Stream sr3 = sr1.BaseStream;
            bool sr4 = sr1.EndOfStream;//是否在流的末尾
            Encoding sr5 = sr1.CurrentEncoding;
            int sr6 = sr1.Peek();//下一个要读取的字符的整数,没有要读取的字符或该流不支持查找,则为 -1。
            int sr7 = sr1.Read();//读取输入流中的下一个字符并使该字符的位置提升一个字符。

            char[] bt1 = new char[sr1.BaseStream.Length];
            int sr8 = sr1.Read(bt1, 0, bt1.Length);//填充char[]
            int sr9 = sr1.ReadBlock(bt1, 0, bt1.Length);//填充char[]

            //读取中都存在 异步的函数 如:ReadLineAsync()

            sr1.Close();
            sr1.Dispose();

            StreamReader sr2 = new StreamReader("2.txt", Encoding.Default);

            string sr10 = sr2.ReadLine();//读取一行,返回string
            string st11 = sr2.ReadToEnd();//读取全部txt

            sr2.DiscardBufferedData();
            sr2.Dispose();
            sr2.Close();

            std1.Close();
            std1 = new FileStream("2.txt", FileMode.Open);
            //写入前不可以使用StreamReader读取??std1流读取后,没有关闭,所以不能再使用写的操作
            StreamWriter sw1 = new StreamWriter(std1, Encoding.Default);

            //获取或设置由当前 TextWriter 使用的行结束符字符串。
            string ss = sw1.NewLine;

            //在原先的流 的文件头插入
            sw1.Write('4');
            sw1.Write("555");
            sw1.WriteLine("555fffffffffff");
            //实际结果是:
            //4555555fffffffffff+文件原本内容

            //将其缓冲区刷新到基础流true?
            sw1.AutoFlush = true;

            sw1.Flush();
            sw1.Dispose();
            sw1.Close();

            //追加为true,覆盖为false,false不存在可新建一个
            StreamWriter sw2 = new StreamWriter("2.txt", true, Encoding.Default);

            //在文件末尾插入
            char[] csw2 = new char[9] { '1', '1', '1', '1', '1', '1', '1', '1', '2' };
            sw2.Write(csw2, 0, 3);//3是写入的最大长度

            sw2.Flush();
            sw2.Dispose();
            sw2.Close();

            #endregion

            #region TextReader

            //StreamWriter继承了TextWriter类,而TextReader和TextWriter都是抽象类

            //多种读取的方法
            TextReader txtr1 = new TextReader("2.txt", FileMode.Open);
            //支持多种类型的写入
            TextWriter txtw1 = new TextWriter("2.txt", FileMode.Open);

            #endregion



作者:FengYang

博客地址:http://blog.csdn.net/qq_28140365

版权声明:如果感觉文章哪里写的不对或者存在疑问,欢迎留言,共同学习、进步!

蓝色字体为链接

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值