c# 文件IO操作 StreamReader StreamWriter Split 使用

StreamWriter(String,Boolean)

 若要追加数据到该文件中,则为 true;若要覆盖该文件,则为 false。 如果指定的文件不存在,该参数无效,且构造函数将创建一个新文件。 

例子要求:

    要求在Txt中存储学生学号、姓名、成绩。支持连续存储若干学生
    支持按学号查询。

导入命名空间:

using System.IO;

写方法:

 public static void reader()
        {
            string num, name, score, message;
            StreamWriter sw = new StreamWriter(@"e:\Score.txt", true); //true to append data to the file; false to overwrite the file.
                                                                       //If the specified file does not exist, 
                                                                       //this parameter has no effect, and the constructor creates a new file.
            string flag = "yes";

            while (flag == "yes")
            {
                Console.Write("学号:");
                num = Console.ReadLine();

                Console.Write("学生姓名:");
                name = Console.ReadLine();

                Console.Write("成绩:");
                score = Console.ReadLine();

                message = string.Format("{0},{1},{2}", num, name, score);
                sw.WriteLine(message);
                Console.Write("<yes>:继续?");
                flag = Console.ReadLine();
            }

            sw.Close();
        }


读方法

  //读操作
        public static void reader()
        {          
            string[] stuRecords = new string[3];
            //StringReader sr = new StringReader(@"e:\Score.txt");
            StreamReader sr = new StreamReader(@"e:\Score.txt");
            string line;
            Console.Write("请输入要查询的学号:");
            string selectNum = Console.ReadLine();

            //int count=0;
            while ((line = sr.ReadLine()) != null)
            {
                stuRecords = line.Split(',');
                if (stuRecords[0] == selectNum)
                {
                    Console.WriteLine(stuRecords[2]);
                    break;
                }
            }
            if (line==null)
            {
                Console.WriteLine("查无此人");
            }
            sr.Close();
            Console.ReadKey();
        }


StreamWrite()概述

StreamWriter类
   实现一个TextWriter,使其以一种特定编码向流中写入字符
原型:
  [SerializableAttribute]
    [ComVisibleAttribute(true)]
    public class StreamWriter : TextWriter
    默认使用UTF8Encoding的实例,不是线程安全的
看一下构造函数原型:
    StreamWriter(Stream) 用其所长UTF-8编码及缓冲区大小,为指定的流初始化StreamWriter类的一个新实例.
    StreamWriter(String)   使用默认编码和缓冲区大小,为指定路径上的指定文件初始化StreamWriter类的新实例.
    StreamWriter(Stream,Encoding) 使用指定的编码及默认缓冲区大小,为指定的流初始化类的新实例
    StreamWriter(String,Boolean) 使用默认编码和缓冲区大小,为指定路径上的指定文件初始化 StreamWriter 类的新实例。如果该文件存在,则可以将其覆盖或向其追加。如果该文件不存在,则此构造函数将创建一个新文件。
    StreamWriter(Stream,Encoding,Int32) 用指定的编码及缓冲区大小,为指定的流初始化 StreamWriter 类的新实例。
    StreamWriter(String,Boolean,Encoding) 使用指定编码和默认缓冲区大小,为指定路径上的指定文件初始化 StreamWriter 类的新实例。如果该文件存在,则可以将其覆盖或向其追加。如果该文件不存在,则此构造函数将创建一个新文件。
    StreamWriter(String,Boolean,Encoding,Int32) 使用指定编码和缓冲区大小,为指定路径上的指定文件初始化 StreamWriter 类的新实例。如果该文件存

StreamReader同上述,参考自微软开发平台



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值