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#控制台中可运行)

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


 using (FileStream fsWrite = new FileStream("顾国玉的FileStream.txt", FileMode.Append, FileAccess.Write))
                {
                    Console.WriteLine("请输入文本");//提示用户输入字符串
                    string str = Console.ReadLine();//接受用户输入的字符串
                    byte[] array = Encoding.UTF8.GetBytes(str);//将字符串转换成字节数组
                    fsWrite.Write(array, 0, array.Length);//将字节数组写入到文本文件
                    Console.WriteLine("写入成功");
                    Console.ReadKey();
                }



  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值