使用FileStream修改txt中的内容

首先了解一下FileStream的概念

FileStream对象表示在磁盘或网络路径上指向文件的流,FileStream类操作的是字节和字节数组。

还有几种方法可以创建FileStream对象。构造函数具有许多不同的重载版本,最简单的构造函数仅仅带有两个参数,即文件名和FileMode枚举值。

FileStream fs = new FileStream(strfile, FileMode.Member);

FileStream常用的属性:

CanRead 判断当前流是否支持读取,返回bool值,True表示可以读取
CanWrite判断当前流是否支持写入,返回bool值,True表示可以写入

FileStream常用的方法:

Read()

从流中读取数据,返回字节数组
Write() 将字节块(字节数组)写入该流
Seek()设置文件读取或写入的起始位置
Flush() 清除该流缓冲区,使得所有缓冲的数据都被写入到文件中

Close()

关闭当前流并释放与之相关联的所有系统资源

 文件打开模式FileMode枚举成员如下:

成   员  存 在文件不存在
Append打开文件,流指向文件的末尾,只能与枚举FileAccess.Write联合使用创建一个新文件。只能与枚举FileAccess.Write联合使用
Create删除该文件,然后创建新文件创建新文件
CreateNew抛出异常创建新文件
Open打开现有的文件,流指向文件的开头抛出异常
OpenOrCreate打开文件,流指向文件的开头创建新文件
Truncate打开现有文件,清除其内容。流指向文件的开头,保留文件的初始创建日期抛出异常

 

 

 

 

 

 

 

文件的访问方式:(FileAccess)

FileAccess.Read对文件读访问                                                                   
FileAccess.Write对文件进行写操作
FileAccess.ReadWrite对文件读或写操作

 

 

 

文件位置SeekOrigin枚举成员如下:

Begin指定流的开头。
Current指定流内的当前位置。 
End指定流的结尾。

 

 

 

 

下面以一个修改txt文件的第一行内容为例子:

  byte[] byData;
                char[] charData;

                FileStream aFile = new FileStream(System.Web.HttpContext.Current.Server.MapPath("text.txt"), FileMode.Create);
                charData = "xxxxxx".ToCharArray();
                byData = new byte[charData.Length];
                Encoder e = Encoding.UTF8.GetEncoder();
                e.GetBytes(charData, 0, charData.Length, byData, 0, true);

                aFile.Seek(0, SeekOrigin.Current);
                aFile.Write(byData, 0, byData.Length);
                aFile.Close();
                aFile.Dispose();

这个代码修改了代码中第一行指定字节长度的的数据

 

转载于:https://www.cnblogs.com/Cynosure/p/4236107.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值