C#_基本的I/O操作

本文由云都小生撰写,介绍了C#中关于文件输入输出的基础操作,包括使用FileStream进行文件读写,以及如何通过StreamReader和StreamWriter实现文本的读写。特别强调了在使用流时,关闭资源的重要性,以及WriteLine和Write方法在写入数据时的换行区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


作者:云都小生


概述



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:云都小生

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值