[音乐] 文本文件是一种特殊的文件形式
它完全由字符和回车、 换行等格式控制字符组成 平时我们用记事本写的
txt 文件,网页上的 html 文件,还有程序源代码等等 都属于文本文件。
本节我们来学习文本文件的读写方法。
在读写文 本文件时,相应的输入流就是把文件中的文本传递到
程序变量中的流,我们使用是 StreamReader 对象,而输出流呢,就是把
程序变量中的文本输出到文本文件流,实现这个流的类叫做 StreamWriter
我们看一下 StreamWriter 的相关的程序代码。
在下面这第一个语句中 我们打开了一个文件,C 盘下的根目下的 MyFile .
txt,用 StreamWriter 打开的 就准备是像这个文件里面写入文本啦。
此时大家看没到没有?这个过渡函数只有一个参数
它下面这个类似的语句,是有两个参数的,这个第二个参数的含义是什么呢?
如果这个函数,啊这个函数的第二个参数给 是给出了一个
True,那么如果我们使用这个语句的时候,这个 MyFile.txt
已经存在了 那么我们的写入方式就是追加方式,就是 MyFile.txt
这个文件 它的原本的内容不会被清掉,而如果这个参数是 False
的话 那么原本的文件呢,文件内容就会被清掉啊。
啊默认情况下,就是 被清掉的。
当然如果这个 C 盘的根目录下没有 MyFile .
txt,就会自动新建一个 MyFile.txt StreamWriter
这个对象,它有很多常用方法 首先就是这个 Write 的方法,向文件中写入一个字符串。
下面这个 WriteLine 这个跟那个我们控制台的输出比较像啊,往文件中写入一个字符串和换行符
还有 Close 方法。
注意这个文件打开了 一定要关闭,因此我们当 new 出来一个
StreamWriter 对象之后,一定要把它释放 释放的同时就关闭了打开文件。
如果不做这一步的话,很有可能我们的文件中的内容没有真正写进去
下面的代码将 创建一个
StreamWriter 类,并把一些文本添加到新创建的文本文件中
我们这写入文本是唐代诗人李白的《古意》 大家看这些代码啊,首先这儿是新创建的
StreamWriter 对象 它的文件路径是 MyFile.txt
大家注意,下面就开始往这个文件里面写入文本文件了 文本内容了。
它是一行一行写的,"君为女萝草,妾作兔丝花。
轻条不自引 为逐东风斜。
" 这后面我就不说了啊,一句一句的,一个 WriteLine,一个 WriteLine,每次
到结尾就会相当于有一个回车,到最后务必要有个 Close 这个动作 没有
Close 这个文件,前面那四个,这四句话有可能就没有真正地写进去,而是放在
Windows 缓存里面 如果此时突然这个程序结束,这有可能这个写入就会失败
所以说这个 Close 和这个 new 是相互对应,不可或缺的 下面我们再看
StreamReader 对象,Reader 对象相当于,和 Writer 对象相、 相比
相对更、 更容易一点吧,因为它是直接从文本文件里面读取数据,它的
参数只有这么一个,就是你要带读取文件的这个 带读取文件的路径,就这一种形式。
当然如果这个路径上没有 东西,路径上这个 MyFile.txt 不存在,它就会出错。
它的常用方法 是 Read 方法,从文件中读出一个字符 ReadLine
是读一行,Close 一样,跟那个 Writer 一样,也 是要
Close,因为一个文件以读体的方式打开,它同样也是要关闭的 还有一个比较常用的方法是
ReadtoEnd 就是我把文件从头一直读到尾,全部一次性读光,直接读到我们的程序里面
这样使用这个函数明显是比较方便的。
还有一个方法,是我们在验证这个 文件有没有读完的时候很有用处,就是
Peek 方法,返回文件 中的下一个字符,但是并不读入,就相当于我们伸头看一看啊
看看我们下一个字符是什么,但不要读,因为一读的话,如果读不到就会出错 啊这个
Peek 方法,当文件还没有结束的时候 它返回的就是读取那个字符,如果当文件已经结束了
返回的是- 1,所以用这个方法,我们很容易判断文件是不是结束了
好啦,咱们现在看这段示例代码,看程序是如何读取文本 文件的。
第一句话就是首先要把 C 盘下的 MyFile.txt
打开,使用这个 StreamReader 的构造函数来打开。
下面为了有一个变量来接受 我读进来的内容,声明跟字符串
strln,下面是一个循环,因为我这个
文本文件有可能是多行的,我要一行一行地读取,同时我们为了知道
我们这个文本文件何时结束,使用了刚才我们说的的那个 Peek
函数,因为我们这个 Peek 函数,当文本文件没有结束的时候,Peek
函数返回的是下一个字符,而 结束了之后,返回的是-
1,因此我们拿这个 Peek 函数当作一个循环条件,当它 大于-
1 的时候,也就是说是一个、 返回是一个实际字符的时候,我们一遍一遍在读
读取文本文件,读一行,把它加到 strln 上,读一行,再加到 strln
上,以此类推 一直读到这个 Peek 返回- 1 为止,也就是说我们这个文本文件读完了
当这个循环结束之后,我们这个文本文件 的所有内容都进入到这个
strln 这个字符串命令里面了。
本节课我们主要学习了 StreamReader 和 StreamWriter
这两个对象的使用 这两个对象的方法中,有一个方法很重要,就是
Close 方法,就是关闭文件 一个文件无论是以读取方式打开,还是以写方式打开
我们都是要把它 Close 的,如果不 Close 掉的话,很有可能出现一些
没有写入失败或者读取失败的这样的事情,所以说务必要做这个操作 下面一个函数是 Peek
函数,就是说当读取的时候呢 我们使用 Peek 函数,可以
看这个文件是否读到,文本文件是否读到了最后的几个结尾 我们本节课学习了文本文件的
读取和写入方式,下节课呢,我们会通过一个例题,来跟大家实践一下 如何对文本文件进行读写。
谢谢大家 [空白_录音]