C#_基本的I/O操作


作者:云都小生


概述



I/O操作的方法一般都定义在System.IO命名空间中,这些方法可以用于创建、删除、文件读取/写入等文件操作。在操作的过程中,都是通过“流”。

流可以理解成管道,连接着你要操作的那些文件,数据一般以二进制的形式通过流进行传递。


FileStream



这个类为文件操作提供了一个流,可以用来轻松的读写数据到文件中。它是以单字节进行读写操作。

来看个例子:

FileStream file = new FileStream(@"C:\Users\cloud\Desktop\test.txt",FileMode.OpenOrCreate);
file.Close();

通过FileStream类的构造方法,我们指定了需要操作的文件(如果不包含路径,只写文件名,就表示跟该可执行文件在同个目录下),同时指定了操作的方式。

还有一点很重要,指定了FileMode.OpenOrCreate,有两种情况,第一种,这个文件是存在了的,第二种,这个文件不存在。如果存在,就只是简单的“连接”,如果不存在,就会创建这个文件。

一切流如果打开了,就要保持好Close()的习惯。

我们可以通过WirteByte()的方法来为该文件写入数据,通过ReadByte()的方法,来读取该文件的字节型数据。

file.WriteByte(58);

while ((i = file.ReadByte()) != -1)  
{  
    Console.Write((char)i);  
}

当ReadByte()读取到最后一个字节之后,再读取就会返回-1,表示读到结尾了。


StreamReader & StreamWrite



这两个方法可以以字符串为单位来读写文件。

StreamReader reader = new StreamReader("test.txt",false);

false的参数名叫apped,false表示如果文件存在,则直接覆盖数据,true表示如果文件存在,则在最后面增加数据。

StreamReader构造方法

还可以这样···

FileStream file = new FileStream(@"C:\Users\cloud\Desktop\test.txt",FileMode.OpenOrCreate);
StreamReader reader = new StreamReader(file);

reader.Close();
file.Close();

这有点像是,一个小管道,加上了一个大的管道。在关闭流的时候,要先关闭StreamReader,再关闭FileStream。

StreamReader常用的两种读数据的方法,分别是Read()以及ReadLine(),前者是读取一个字符,后者是读取一行。

StreamWrite常用的两种写数据的方法,分别是Write()和WriteLine(),前者写入数据后不会换行,后者写入后会自动换行。

FileStream file = new FileStream(@"C:\Users\cloud\Desktop\test.txt",FileMode.OpenOrCreate);
StreamReader reader = new StreamReader(file);

Console.WriteLine(reader.Read());
//Console.WriteLine(reader.ReadLine());

reader.Close();
file.Close();

再来看看Write()和WriteLine()

FileStream file = new FileStream(@"C:\Users\cloud\Desktop\test.txt",FileMode.OpenOrCreate);
StreamWrite wirter = new StreamWrite(file);

wirter.Write("云都小生");
//wirter.WriteLine("云都小生 不'止'是一个程序员");

writer.Close();
file.Close();

2018/1/18 0:29:34 @Author:云都小生

你可能感兴趣的:(c#)