Chinaunix首页 | 论坛 | 博客
  • 博客访问: 847432
  • 博文数量: 158
  • 博客积分: 120
  • 博客等级: 入伍新兵
  • 技术积分: 882
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-03 19:50
个人简介

转载一些技术文章,分享给大家。

文章分类

全部博文(158)

文章存档

2020年(56)

2019年(102)

我的朋友

分类: C#/.net

2020-03-28 13:31:56

转自:https://jingyan.baidu.com/article/77b8dc7fb715356174eab6cf.html 

今天我来分享如何用StreamReader类读取文件以及如何用StreamWriter类写入文件。

一、使用StreamReader纯文本文件
1.首先打开VS 2017新建一个项目,项目类型随意(控制台或者winform)。

2.使用C#来读取文件,需要引用System.IO命名空间。

首先我们实例化一个StreamReader对象,添加两个参数,由于我是新建了一个方法写的,所以我的文件路径参数是变量,后面那个Encoding是个表示文档编码格式的类。


  1. private void OpenTextFile(string path)
  2. {
  3.     StreamReader textReader=new StreamReader(path,Encoding.Default);
  4. }

3.下面我们来新建一个string变量,来接收StreamReader对象成员方法ReadLine()反回的字符串数据,因为这个成员方法一次只能读取一行,所以我们使用while循环来重复读取数据,直到这个方法返回NULL为止。最后我们调用成员方法Close()来关闭当前数据流释放系统资源。


  1. string textLine = "";
  2. while ((textLine=textReader.ReadLine())!=null)
  3. {
  4.     textBox1.Text += textLine;
  5. }
  6. textReader.Close();

4.有的读者会说了,你这跟原格式不对着啊,没有换行啊。

那好办,只需在给控件赋值的时候,后面加上“\n”或者“\r”转义字符,“\n”是表示换行,“\r”表示回车。

再来看效果如何……由于控件问题,到这里我给换成了RichTextBox控件


  1. StreamReader textReader=new StreamReader(path,Encoding.Default);
  2. string textLine = "";
  3. while ((textLine=textReader.ReadLine())!=null)
  4. {
  5.     richTextBox1.Text += textLine + "\n";
  6. }
  7. textReader.Close();

二、用StreamWriter写入纯文本文件
1.接着上面的代码,新建一个创建纯文本文件的方法,这里参数依然只给文件路径名。

  1. private void CreateTextFile(string path)
  2. {
  3. }
2.我们实例化一个FileStream对象,用来创建新的文本文件名和编码格式。同时他也是StreamWriter构造函数的参数(上面那个也可以),我需要给它传参。

  1. FileStream fs=new FileStream(path,FileMode.Create);
  2. StreamWriter textWriter=new StreamWriter(fs,Encoding.Default);
3.然后我们给这个文件里面写入一行数据。通常我们的程序保存数据时需要用到类似的功能。

  1. textWriter.Write("一个新建的文件");
4.在最后我们需要清理和关闭任意一个对象的数据流和缓冲区,运行程序。


注意事项
FileMode.Create枚举类型是指示创建一个新的文件,如果存在则覆盖
阅读(44988) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~