zoukankan      html  css  js  c++  java
  • 初识IO流——文本文件的读和写操作

      1.想要实现文本文件的读和写操作,我们需要了解StreamWriter类和StreamReader类。

      StreamWriter是专门用来处理文本文件的类,可以方便地向文本文件中写入字符串。同时也负责重要的转换和处理向FileStream对象写入工作。

      StreamReader是专门用来读取文本文件的类,StreamReader可以从底层Stream对象创建StreamReader对象的实例,而且也能指定编码规范参数。创建StreamReader对象后,它提供了许多用于读取和浏览字符数据的方法。

      2.做文本写入操作时,我们需要先给定文件所在目录和文件名,然后开始创建StreamWriter对象,其中,StreamWriter类为我们定义了多个构造方法,这个大家可以去看StreamWriter类的相关文档,做一下详细了解。下面一个构造方法基本上是我们经常用到的。

    1 public StreamWriter(string path, bool append, Encoding encoding);

      其中path就是我们的文件所在路径。Append则为布尔类型,当Append为true时,每做一次写操作都会在文件原有文本内容的基础上附加我们写入的内容,当Append为false时,每次写操作的内容都会覆盖文件原有的文本内容。第三个参数显而易见,就是编码了,我们可以在这里指定我们写入的编码类型。

      下面是一个文本写操作的实现:

     1 //文件写操作
     2         public void WriteText(string text)
     3         {
     4 
     5             string path = @"C:\Users\Administrator\Desktop\ThisIsATxt.txt";
     6 
     7             using (StreamWriter writer = new StreamWriter(path, true, Encoding.UTF8))
     8             {
     9 
    10                 writer.WriteLine(text);
    11 
    12             }
    13         }

      3.做文本读操作时,其创建对象的过程与文本写操作类似。只是参数略有变化,这个大家也可以去看StreamReader类的相关文档,详细了解一下StreamReader类为我们提供了哪些构造方法。同样,下面我们做文本读操作的时候经常用到构造方法。

    1 public StreamReader(Stream stream, Encoding encoding);

      下面则是一个文本读操作的实现:

     1 //文件读操作
     2         public string ReadText()
     3         {
     4 
     5             string path = @"C:\Users\Administrator\Desktop\ThisIsATxt.txt";
     6 
     7             using (StreamReader reader = new StreamReader(path, Encoding.UTF8))
     8             {
     9 
    10                 string Read_text = reader.ReadToEnd();
    11 
    12                 return Read_text;
    13             }
    14 
    15         }

       

      注:关于using,可以参照https://msdn.microsoft.com/query/dev10.query?appId=Dev10IDEF1&l=ZH-CN&k=k(VB.USING);k(TargetFrameworkMoniker-%22.NETFRAMEWORK%2cVERSION%3dV4.0%22);k(DevLang-VB)&rd=true做详细了解。

  • 相关阅读:
    51单片机按键连击
    未知设备号创建设备节点
    C语言中enum的用法
    linux 端口IO操作
    读写控制台记录级别
    linux内核驱动中读写函数
    使用gawk记录一段时间内,某个进程占用内存和CPU的情况
    <Linux> Ubuntu error: ssh: connect to host master port 22: No route to host lost connection
    MapReduce的分区与 分组二次排序
    问题
  • 原文地址:https://www.cnblogs.com/SunshineAgain/p/5698942.html
Copyright © 2011-2022 走看看