全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:15617636856

郑州网站建设

当前位置: 首页 > 新闻资讯>>文件流FileStream类

文件流FileStream类

作者:郑州网络公司发布时间:2023-09-14 14:30:25查看次数:来源:网络文章数:

文件流FileStream类,是用来实现对文件的读取和写入。FileStream是操作字节的字节数组,当提供向文件读取和写入字节的方法时,常用StreamReader类或StreamWrite类来完成,他们是操作字符的

FileStream类的构造有多种形式,最简单一种:FileStream(string path,FileMode mode);
FileMode枚举有几种成员,用于规定如何打开或创建文件,这些成员可以联合使用。
1)、Append:打开现有文件并定位至文件结尾,如果不存在则创建新文件。
2)、Create:创建新文件,如果存在,它将被覆盖(文件被替换)。
3)、CreateNew:创建新文件,如存在将引发异常。
4)、Open:打开现有文件。
5)、OpenOrCreat:如文件存在,打开;如不存在,创建新文件。
6)、Truncate:打开现有文件,文件一旦被打开就将被清空内容。

方法:FileStream(string path,FileMode mode,FileAccess access);
在不使用FileAccess枚举类的方法中,默认使用的是ReadWrite。
该方法有三个枚举值:
只读(Read)
读/写(ReadWrite)
只写(Write)

File类和FileInfo类提供了OpenRead()方法和OpenWrite()方法用于创建FileStream对象,OpenRead()方法用于只读方式访问文件,OpenWrite()方法则允许对文件进行写入操作。

FileStream类有三个重要方法:Seek方法、Read方法、Write方法
Seek方法用于直接在文件中查找具体位置。

具体代码:
byte[] bufferByte = new byte[100];
char[] bufferChar = new char[100];
string path = @"C:\Users\Administrator\Desktop\steng.cn\5.txt";
try
{
    FileStream fs = new FileStream(path, FileMode.OpenOrCreate,FileAccess.ReadWrite);
    fs.Seek(0, SeekOrigin.Begin);
    fs.Read(bufferByte, 0, 100);
    Decoder dc = Encoding.Default.GetDecoder();
    dc.GetChars(bufferByte, 0, bufferByte.Length, bufferChar, 0);
    Console.WriteLine(bufferChar);
    Console.WriteLine("读取完成");

    bufferChar = "郑州索腾网络科技有限公司是一个神奇的公司".ToCharArray();
    Encoder en = Encoding.UTF8.GetEncoder();
    en.GetBytes(bufferChar, 0, bufferChar.Length, bufferByte, 0, true);
    fs.Seek(0, SeekOrigin.Begin);
    fs.Write(bufferByte, 0, bufferByte.Length);
    fs.Close();
    Console.WriteLine("写入正常");
}
catch (Exception ex)
{
    Console.WriteLine("操作出错,原因是" + ex.Message.ToString());
}
Console.ReadKey();

站内文章:均为188bet博彩体育app下载方式 各部门原创内容如需转载请著名本文网站链接://www.mcissock.com/new/27258.html未经允许转载要受法律责任,如需转载请联系269247937@qq.com


[文件流FileStream类]

本文链接://www.mcissock.com/new/27258.html
tags:郑州网站建设郑州网站制作郑州网站设计郑州建站公司郑州网站优化郑州做网站郑州小程序开发郑州网络公司
网页是否收录:
返回目录 在线咨询

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。

  • 返回顶部
  • 15617636856
  • QQ在线
  • 微信二维码
0
Baidu
map