FileStream fileStream = new FileStream(path, FileMode.Open, FileAccess.Read)介绍

原文链接: https://blog.csdn.net/KJJfighting/article/details/119861920

引用命名空间 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#控制台中可运行)

//声明一个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();

}

posted @ 2025-09-01 16:07  yinghualeihenmei  阅读(40)  评论(0)    收藏  举报