StreamWriter(String,Boolean)

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

例子要求:

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

    支持按学号查询。

导入命名空间:

  1. using System.IO;

写方法:

  1. public static void reader()
  2. {
  3. string num, name, score, message;
  4. StreamWriter sw = new StreamWriter(@"e:\Score.txt", true); //true to append data to the file; false to overwrite the file.
  5. //If the specified file does not exist,
  6. //this parameter has no effect, and the constructor creates a new file.
  7. string flag = "yes";
  8.  
  9. while (flag == "yes")
  10. {
  11. Console.Write("学号:");
  12. num = Console.ReadLine();
  13.  
  14. Console.Write("学生姓名:");
  15. name = Console.ReadLine();
  16.  
  17. Console.Write("成绩:");
  18. score = Console.ReadLine();
  19.  
  20. message = string.Format("{0},{1},{2}", num, name, score);
  21. sw.WriteLine(message);
  22. Console.Write("<yes>:继续?");
  23. flag = Console.ReadLine();
  24. }
  25.  
  26. sw.Close();
  27. }

读方法

  1. //读操作
  2. public static void reader()
  3. {
  4. string[] stuRecords = new string[3];
  5. //StringReader sr = new StringReader(@"e:\Score.txt");
  6. StreamReader sr = new StreamReader(@"e:\Score.txt");
  7. string line;
  8. Console.Write("请输入要查询的学号:");
  9. string selectNum = Console.ReadLine();
  10.  
  11. //int count=0;
  12. while ((line = sr.ReadLine()) != null)
  13. {
  14. stuRecords = line.Split(',');
  15. if (stuRecords[0] == selectNum)
  16. {
  17. Console.WriteLine(stuRecords[2]);
  18. break;
  19. }
  20. }
  21. if (line==null)
  22. {
  23. Console.WriteLine("查无此人");
  24. }
  25. sr.Close();
  26. Console.ReadKey();
  27. }

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同上述,参考自微软开发平台

c# 文件IO操作 StreamReader StreamWriter Split 使用的更多相关文章

  1. 文件IO操作

    前言 本文介绍使用java进行简单的文件IO操作. 操作步骤 - 读文件 1. 定义一个Scanner对象 2. 调用该对象的input函数族进行文件读取 (参见下面代码) 3. 关闭输入流 说明:其 ...

  2. 树莓派学习笔记——使用文件IO操作GPIO SysFs方式

    0 前言     本文描写叙述假设通过文件IO sysfs方式控制树莓派 GPIO端口.通过sysfs方式控制GPIO,先訪问/sys/class/gpio文件夹,向export文件写入GPIO编号, ...

  3. Linux学习记录--文件IO操作相关系统编程

    文件IO操作相关系统编程 这里主要说两套IO操作接口,各自是: POSIX标准 read|write接口.函数定义在#include<unistd.h> ISO C标准 fread|fwr ...

  4. linux文件IO操作篇 (一) 非缓冲文件

    文件IO操作分为 2 种 非缓冲文件IO 和 缓冲文件IO 它们的接口区别是 非缓冲 open() close() read() write() 缓冲 fopen() fclose() fread() ...

  5. imx6用文件io操作gpio

    具体请参考: http://blog.csdn.net/u014213012/article/details/53140781 这里要注意的是: 要让linux支持文件io方式操作gpio,首先驱动必 ...

  6. 9.2 Go 文件IO操作

    9.2 Go 文件IO操作 1.1.1. bufio包 带有缓冲区的IO读写操作,用于读写文件,以及读取键盘输入 func main() { //NewReader返回一个结构体对象指针 reader ...

  7. Linux文件IO操作

    来源:微信公众号「编程学习基地」 目录 文件操作 Linux文件类型 Linux文件权限 修改文件权限 Linux error 获取系统调用时的错误描述 打印错误信息 系统IO函数 open/clos ...

  8. 文件IO操作..修改文件的只读属性

    文件的IO操作..很多同行的IO工具类都是直接写..但是如果文件有只读属性的话..则会写入失败..所以附加了一个只读的判断和修改.. 代码如下: /// <summary> /// 创建文 ...

  9. Linux系统编程--文件IO操作

    Linux思想即,Linux系统下一切皆文件. 一.对文件操作的几个函数 1.打开文件open函数 int open(const char *path, int oflags); int open(c ...

随机推荐

  1. 关于汉诺塔,C++代码,代码效果演算

     1.故事介绍 汉诺塔:汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具.大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上依照大小顺序摞着64片黄金圆盘.大梵天命令婆罗门把圆盘 ...

  2. java统计中英文字数 Java问题通用解决代码

    http://yangchao20020.blog.163.com/blog/static/483822472011111635424751/   这个不适用于新浪微博字数的统计,结果有差别,若需要可 ...

  3. Android NDK开发篇(四):Java与原生代码通信(原生方法声明与定义与数据类型)

    Java与原生代码通信涉及到原生方法声明与定义.数据类型.引用数据类型操作.NIO操作.訪问域.异常处理.原生线程 1.原生方法声明与定义 关于原生方法的声明与定义在上一篇已经讲一点了,这次具体分析一 ...

  4. ganlia安装配置文档

    gangliaz在ubuntu中安装和配置很简单 1.  服务器端安装 sudo apt-get install ganglia-monitor ganglia-webfrontend rrdtool ...

  5. ros之串口通信---imu

    1.sudo apt-get install ros-kinetic-rosserial 或者sudo git clonegit://github.com/wjwwood/serial.git  (开 ...

  6. jar包解压与打包

    首先感谢大神的指导:https://blog.csdn.net/mr_pang/article/details/47028921 1.首先准备一个能运行的jar文件,我们使用第三方解压工具进行解压wi ...

  7. pycharm下: conda installation is not found ----一个公开的bug的解决方案

    pycharm  conda installation is not  found ----一个公开的bug的解决方案 pycharm+anaconda 是当前的主流的搭建方案,但是常出现上述问题. ...

  8. sparkStreaming的mapWithState函数【案例二】

    sparkStreaming是以连续bathinterval为单位,进行bath计算,在流式计算中,如果我们想维护一段数据的状态,就需要持久化上一段的数据,sparkStreaming提供的Mapwi ...

  9. python的requests初步使用

    转自:http://my.oschina.net/yangyanxing/blog/280029 早就听说requests的库的强大,只是还没有接触,今天接触了一下,发现以前使用urllib,urll ...

  10. iOS 常用图尺寸 汇总

    iCON 准备一张1024x1024尺寸的图,打开链接 http://www.atool.org/ios_logo.php 在线批量生成各种尺寸的图片 启动图LaunchImage 640x960 2 ...