1.读写文本文件

我们对文本文件的读写一般使用StreamReader和StreamWriter,因为不同的文本有不同的编码格式,这个StreamReader会帮我们自动处理,所以我们不需要关心文本文件的编码是什么
        1,创建文本的读取流(会检查字节码标记确定编码格式)
          StreamReader sr = newStreamReader(@"c:\xx\ReadMe.txt");
        2,指定编码格式
          StreamReader str = newStreamReader(@"c:\xx\xx.txt",Encoding.UTF8);
          (可取的编码格式 ASCII Unicode UTF7 UTF8 UTF32)
        3,在文件流的基础上创建文本读取流
          FileStream fs = newFileStream(@"c:\xx\xx.txt",FileMode.Open,FileAccess.Read,FileShare.None);
          StreamReader sr = new StreamReader(fs);
        4,通过文件信息创建文本读取流-第二种方式
          FileInfo myFile = newFileInfo(@"c:\xx\xx.txt");
          StreamReader sr = myFile.OpenText();

流的关闭sr.Close();

1.2.读取文本文件

1,stringnextLine = sr.ReadLine();//读取一行字符串
2,stringrestOfStream = sr.ReadToEnd();//读取流中所有剩余的文本内容
3,intnextChar = sr.Read();//只读取一个字符
4,   int nChars = 100;
  char[] charArray = new char[nChars];

int nCharsRead = sr.Read(charArray,0,nChars);读取多个字符,第一个参数是要存放的字符数组,第二个参数是从数组的哪一个索引开始放,第三个参数是读取多少个字符 返回值是实际读取的字符的个数

1.3文本写入流StreamWriter-创建

StreamWriter的创建
1,StreamWritersw = new StreamWriter(@"c:\xx\xx.txt");(默认使用UTF-8编码)
2,StreamWritersw = new StreamWriter(@"c:\xx\xx.txt",true,Encoding.ASCII)
  第二个参数表示是否以追加的方式打开,第三个参数是编码方式
3,通过FileStream创建StreamWriter
  FileStream fs = newFileStream(@"c:\xx\xx.txt",FileMode.CreateNew,FileAccess.Write,FileShare.Read);
  StreamWriter sw = new StreamWriter(fs);
4,通过FileInfo创建StreamWriter
  FileInfo myFile = newFileInfo(@"c:\xx\xx.txt");
  StreamWriter sw = myFile.CreateText();

所有流用完之后关闭sw.Close();

1.4文本写入流StreamWriter-写入

1,写入一行字符
  string nextLine = "x xx x x x x";sw.Write(nextLine);
2,写入一个字符
  char nextChar = 'a';
  sw.Write(nextChar);
3,写入字符数组
  char[] charArray = ..;
  sw.Write(charArray);
4,写入字符数组的一部分
  sw.Write(charArray,StartIndex,Length);

1:要写入的数组 2:开始索引  3写入长度

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace _329_使用streamReader和streamWriter读写文本文件
{class Program{static void Main(string[] args){//创建文本文件读取流StreamReader reader = new StreamReader("TextFile1.txt");///(一)//while(true)//{//    string str = reader.ReadLine();//读取一行字符串//    if (str == null) break;//    Console.WriteLine(str);//}///(二)//string str= reader.ReadToEnd();//读取到文件结尾,读取文本中所有字符串//Console.WriteLine(str);///(三)//while(true)//{//    int res= reader.Read();//读取一个字符//    if(res==-1)//    {//        break;//    }//    else//    {//        Console.Write((char)res);//    }//}//文本文件写入流StreamWriter writer = new StreamWriter("textfile2.txt");while(true){string message = Console.ReadLine();if (message == "q")break;//writer.Write(message);//写入字符串writer.WriteLine(message);//写入一个字符串并换行}writer.Close();Console.ReadKey();}}
}

读写文本文件-StreamReader和StreamWriter相关推荐

  1. C#使用StreamReader类和StreamWriter类读写文本文件

    StreamReader类和StreamWriter类可以实现读写文本文件,这两个类都在命名空间System.IO下. using System; using System.Collections.G ...

  2. UWP 读写文件 StreamReader/StreamWriter

    UWP程序和Winform差异还是蛮大的,UWP毕竟是倾向于移动客户端Application开发,所以权限问题值得被画一下重点.在UWP中,app不能再随随便便访问客户端的文件系统,必须要通过获得用户 ...

  3. C# StreamReader、StreamWriter类文本文件操作

    StreamReader.StreamWriter位于命名空间System.IO下,功能与FileStream相比较弱,FileStream可以操作任何格式文件,但是StreamReader.Stre ...

  4. C#读写文本文件小结

    C#读写文本文件小结 除了创建.复制.移动和删除外,对文本文件最常用的操作就是进行读写,C#提供了非常多的方法来对文本文件进行读写,今天我们做个小结: 一.写入文件 1.File类的静态方法Write ...

  5. c# - FileStream、StreamReader、StreamWriter

    先看下File和FileStream的区别: File在读取文件时,是一下子全部读取出来: FileStream在读取文件时,是一点一点的读取的,对于内存来说,压力更小一些: FileSteam 读取 ...

  6. C# FileStream和StreamReader以及StreamWriter

    1. FileStream读写文件 FileStream是操作字节的,StreamReader和StreamWriter是操作字符的,重点掌握FileStream. 重点:将创建文件流对象的过程写在u ...

  7. QT学习:读写文本文件

    一.使用QFile类读写文本 使用QFile类读写文本文件代码如下: (1)源文件"main.cpp"的具体实现代码如下: #include <QCoreApplicatio ...

  8. Qfile与QTextStream读写文本文件

    Qfile读取文本文件: void readwrite::readfile() {QString path = QFileDialog::getOpenFileName(this, "ope ...

  9. QT读写文本文件编码设置

    QT读写文本文件编码设置 一.编码知识科普 Qt常见的两种编码是:UTF-8和GBK ★UTF-8:Unicode TransformationFormat-8bit,允许含BOM,但通常不含BOM. ...

最新文章

  1. 02.Python网络爬虫第二弹《http和https协议》
  2. html追加行clone,jQuery - 使用.clone()方法克隆拷贝元素
  3. Lesson 4.张量的线性代数运算
  4. VMware新装CentOS无法连接外网解决方法
  5. 如何在金山毒霸软件里安装腾讯视频
  6. mac ~/.bash_profile 重启失效
  7. 去除DataTable重复数据的三种方法(转)
  8. 离散数学与计算机的发展,计算机学科发展中离散数学的作用与运用
  9. OSPF域外(外部)路由(四、五类LSA)
  10. 用photoshop将图片不失真的放大
  11. Kademlia详解
  12. python表求列平均值_python中表列的平均值
  13. 关键链项目管理汇总贴
  14. 穿戴式设备应该新机遇--可以测心率的光感小米手环
  15. Python 股票分析入门
  16. 对多个Word文件批量添加页码,自由分页。Word精灵V5.0
  17. Armeria 小试牛刀
  18. torch-fidelity 简便计算FID,ISC,KID,PPL
  19. CTF隐写术之总结 让你少走弯路
  20. TypeScript:any和unknown

热门文章

  1. rowid去重(转)
  2. 常见排序算法的时间复杂度、空间复杂度、稳定性比较
  3. 计算机网络与电竞的论文,谈谈电子竞技毕业论文.doc
  4. react方法返回html_#react# 在页面中显示html代码块
  5. 我要翻译《Think Python》- 006 第四章 学习案例:接口设计
  6. Multisim 14.3安装包下载链接及安装教程
  7. 数据分析之描述性统计
  8. icloud有linux客户端吗,icloud
  9. android 音乐播放器评测,七大主流Android音乐播放器横向评测
  10. 关于升华网第一次培训的心得