FileStream类的一些用法

引用命名空间

using System.IO;

一、读取文件

        FileStream 类只能处理原始字节(raw byte)。FileStream 类可以用于任何数据文件,而不仅仅是文本文件。FileStream 对象可以用于读取诸如图像和声音的文件,FileStream读取出来的是字节数组,然后通过编码转换将字节数组转换成字符串。

 第一步:声明一个FileStream类的对象

        FileStream fsRead = new FileStream(string path, FileMode mode, FileAccess access);

参数:

path:要操作的文件路径,路径可以是绝对路径或者相对路径。

mode:操作文件的方式,打开或者创建

access:操作文件中的数据,读取或者写入

第二步:调用fsRead对象的方法Read

       FileStream.Read(byte[] array, int offset, int count)方法是从文件中读取数据,再把数据写入一个字节数组
参数:
array:用来存储fsRead对象读取到数据的字节数组

offse:开始读取数据的位置,通常都是0

count:最多读取的字节数

示例:(下面的代码在C#控制台中可运行)

[csharp]  view plain  copy
  1. <strong> </strong>//声明一个FileStream类的对象  
  2.             FileStream fsRead = new FileStream(@"C:\Users\GuGuoYu\Desktop\新建文本文档.txt", FileMode.OpenOrCreate, FileAccess.Read);  
  3.             byte[] buffer = new byte[200];//声明一个字节数组,用来临时存储读取到数据,最大存储200字节  
  4.             while (true)  
  5.             {  
  6.                 int r = fsRead.Read(buffer, 0, buffer.Length);//返回本次实际读取到的字节数   
  7.                 if (r == 0)//如果读取到的字节数为0,说明已到达文件结尾,则退出while循环  
  8.                 {  
  9.                     break;  
  10.                 }  
  11.                 string s = Encoding.UTF8.GetString(buffer, 0, r);//将字节数组转换成字符串;buffer:要转换的字节数组;0:第一个要解码的字节的索引;r:要解码的字节数   
  12.                 Console.WriteLine(s);  
  13.             }  
  14.             fsRead.Close();  //关闭流  
  15.             fsRead.Dispose(); //释放流  
  16.             Console.ReadKey();  

二、写入文件

 第一步:声明一个FileStream类的对象

        FileStream fsWrite = new FileStream(string path, FileMode mode, FileAccess access);

参数:

path:要操作的文件路径,路径可以是绝对路径或者相对路径。

mode:操作文件的方式,打开或者创建

access:操作文件中的数据,读取或者写入

第二步:调用fsWrite对象的方法Write

       FileStream.Write(byte[] array, int offset, int count)方法是将字节数组数据写入到指定的文本
参数:
array:用来存储字符串转换成字节的字节数组

offse:开始存储的位置,通常都是0

count:最多写入的字节数


[csharp]  view plain  copy
  1. using (FileStream fsWrite = new FileStream("顾国玉的FileStream.txt", FileMode.Append, FileAccess.Write))  
  2.                {  
  3.                    Console.WriteLine("请输入文本");//提示用户输入字符串  
  4.                    string str = Console.ReadLine();//接受用户输入的字符串  
  5.                    byte[] array = Encoding.UTF8.GetBytes(str);//将字符串转换成字节数组  
  6.                    fsWrite.Write(array, 0, array.Length);//将字节数组写入到文本文件  
  7.                    Console.WriteLine("写入成功");  
  8.                    Console.ReadKey();  
  9.                }  
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值