对流进行操作时要引用 using System.IO; 命名空间

FileStream常用的属性和方法:

属性:

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

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

方法:

Read() 从流中读取数据,返回字节数组

Write() 将字节块(字节数组)写入该流

Seek() 设置文件读取或写入的起始位置

Flush() 清除该流缓冲区,使得所有缓冲的数据都被写入到文件中

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

文件的访问方式:(FileAccess)

包括三个枚举:

FileAccess.Read(对文件读访问)

FileAccess.Write(对文件进行写操作)

FileAccess.ReadWrite(对文件读或写操作)

文件打开模式:(FileMode)包括6个枚举

FileMode.Append 打开现有文件准备向文件追加数据,只能同FileAccess.Write一起使用

FileMode.Create 指示操作系统应创建新文件,如果文件已经存在,它将被覆盖

FileMode.CreateNew 指示操作系统应创建新文件,如果文件已经存在,将引发异常

FileMode.Open 指示操作系统应打开现有文件,打开的能力取决于FileAccess所指定的值

FileMode.OpenOrCreate 指示操作系统应打开文件,如果文件不存在则创建新文件

FileMode.Truncate 指示操作系统应打开现有文件,并且清空文件内容

文件共享方式:(FileShare)

FileShare方式是为了避免几个程序同时访问同一个文件会造成异常的情况。

文件共享方式包括四个:

FileShare.None 谢绝共享当前文件

FileShare.Read 充许别的程序读取当前文件

FileShare.Write 充许别的程序写当前文件

FileShare.ReadWrite 充许别的程序读写当前文件

使用FileStream类创建文件流对象:

FileStream(String 文件路径,FileMode 文件打开模式)

FileStream(String 文件路径,FileMode 文件打开模式,FileAccess 文件访问方式)

FileStream(String 文件路径,FileMode 文件打开模式,FileAccess 文件访问方式,FileShare 文件共享方式)

例:

//在C盘创建a.txt文件,使用fs流对象对文件进行操作,fs的工作模式是新建(FileMode.Create)

FileStream fs=new FileStream(@"c:\a.txt",FileMode.Create);

//在C盘创建a.txt文件,使用fs流对象对文件进行操作,fs工作模式是新建(FileMode.Create)文件的访问模式是写入(Fileaccess.Write)

FileStream fs=new FileStream(@"c:\a.txt",FileMode.Create,FileAccess.Write);

//在C盘创建a.txt文件,使用fs流对象对文件进行操作,fs工作模式是新建(FileMode.Create)文件的访问模式是写入(FileAccess.Write)文件的共享模式是谢绝共享(FileShare.None)

FileStream fs=new FileStream(@"c:\a.txt",FileMode.Create,FileAccess.Write,FileShare.None);

使用File类来创建对象:(常用)

自定义打开文件的方式:File.Open(String,FileMode);

打开文件进行读取: File.OpenRead(String);

打开文件进行写入: File.OpenWrite(String);

示例如下:

//在C盘新建123.txt文件,使用流对象fs对文件进行操作,fs可以行文件内容追加操作FileMode.Append

FileStream fs=File.Open(@"c:\123.txt",FileMode.Append);

//在C盘新建123.txt文件,使用流对象fs对文件进行操作,fs可以进行读文件File.OpenRead()

FileStream fs=File.OpenRead(@"c:\123.txt");

//在C盘新建123.txt文件,使用流对象fs对文件进行操作,fs可以进行写操作File.OpenWrite()

FileStream fs=File.OpenWrite(@"c:\123.txt");

使用File例:

对文件进行读操作:

//新建fs流对象对象产生的路径是textbox1.text的值,文件的模式是FileMode.OpenOrCreate(可读可写)

using (FileStream fs = File.Open(textBox1.Text, FileMode.OpenOrCreate))
{

//新建字节型数组,数组的长度是fs文件对象的长度(后面用于存放文件)
byte[] bt=new byte[fs.Length];

//通过fs对象的Read方法bt得到了fs对象流中的内容
fs.Read(bt,0,bt.Length);

//关闭fs流对象
fs.Close();

//将bt字节型数组中的数据由Encoding.Default.GetString(bt)方法取出,交给textbox2.text
textBox2.Text = System.Text.Encoding.Default.GetString(bt);
}

对文件进行写入操作:

//新建fs流对象,对象操作的文件路径在textbox1.text中,fs的操作模式是FileMode.Create

using (FileStream fs = File.Open(textBox1.Text, FileMode.Create))
{

//新建字节型数组bt对象,bt对象得到了textbox2.text的Encoding的值
byte[] bt = System.Text.Encoding.Default.GetBytes(textBox2.Text);

//将bt字节型数组对象的值写入到fs流对象中(文件)
fs.Write(bt,0,bt.Length);

//关闭流对象
fs.Close();
}

注:

对文件的读写操多不管代码有多少,无非就是下面的三步:

1.创建文件读写流对象

2.对文件进行读写

3.关闭文件流

FileStream常用的属性和方法:相关推荐

  1. 08-数组中常用的属性及方法

    08-数组中常用的属性及方法 创建: 使用 JavaScript 关键词 new 使用数组文本创建 //数组中的方法: toString() 把数组转换为数组值(逗号分隔)的字符串. join() 方 ...

  2. dom对象常用的属性和方法有哪些?

    dom对象常用的属性和方法有哪些? 一.总结 一句话总结: 1.document属性和方法:document的属性有head,body之类,方法有各种获取element的方法 2.element的属性 ...

  3. JavaScript学习(六十六)—字符串对象常用的属性和方法总结以及数组元素的排序问题

    JavaScript学习(六十六)-字符串对象常用的属性和方法总结以及数组元素的排序问题 学习内容 一.数组去重问题 二.二维数组的定义 三.二维数组的元素操作 四.二维数组的遍历 五.关联数组 六. ...

  4. JavaScript学习(三十三)—事件对象常用的属性和方法

    JavaScript学习(三十三)-事件对象常用的属性和方法 (一).type属性 <style>#box {width: 200px;height:

  5. JavaScript学习(六)—location对象常用的属性和方法

    JavaScript学习(六)-location对象常用的属性和方法 一.location对象 作用:location是window对象的一个属性,本身也是对象类型,它的作用是用来获取文档对象的相关信 ...

  6. ListBox控件—列表控件--常用的属性和方法

    ListBox控件-列表控件 --常用的属性和方法 Items: public ObjectCollection Items {get; } 摘要: 该属性使用户可以获取当前存储在ListBox中的项 ...

  7. 画出HTML DOM对象层次图。文档对象document有哪些常用的属性和方法?

    转载于:https://www.cnblogs.com/zut-syp/p/10543674.html

  8. selenium提取数据之driver对象的常用属性和方法

    selenium提取数据之driver对象的常用属性和方法 在使用selenium过程中,实例化driver对象后,driver对象有一些常用的属性和方法 driver.page_source 当前标 ...

  9. Function的常用属性和方法

    下面是Function的一些常用的属性和方法,希望可以帮助到一些小伙伴. 1.Function的length属性 **全局的Function对象没有自己的属性和方法.**但是,因为它本身也是函数,所以 ...

最新文章

  1. 激励理论在人力资源管理中的运用
  2. 一个快速、完善的Android开发框架整合实践(QuickAndroid)
  3. 【机器学习基础】关于如何使用机器学习来做异常检测的7个问题
  4. linux显卡驱动版本最好,Linux 用户如何安装 Nvidia 331.67 显卡驱动稳定版本
  5. 前端学习(3317):connect 2
  6. 以太坊智能合约 编译脚本
  7. 当Typora开始收费,开源免费的MarkText编辑器火了:一周新增2k+star
  8. 软件测试面试,秋招你准备好了吗?(内附答案)
  9. android 常用adb 及linux 命令
  10. 蓝桥杯基础练习 杨辉三角形Python实现
  11. mysql端口被占用了如何解决_如何解决Win10安装MYSQL端口被占用?
  12. python -- 计算 平方、乘方、平方根_Python中math模块进行数学运算的示例
  13. 针式PKM初级应用:针式PKM更适合管理什么样的文件
  14. tvp5150的iic配置-应用程序实现。
  15. 面向物流行业的文档管理系统
  16. android 画图便宜,10个最好用的绘画App,赶紧mark
  17. 有关获取android唯一识别号IMEI的问题
  18. 如何降低数据中心机柜的局部高热
  19. 南方农机杂志南方农机杂志社南方农机编辑部2022年第24期目录
  20. 机器学习中对核函数的理解

热门文章

  1. 软件操作说明-微信送礼
  2. 关于设置红杏公益代理和下载.aar或.pom文件冲突的问题
  3. 双12软件促销,Melodyne,Fabfilter,NUGEN Audio,SLATE DIGITAL,Prime Studio,McDSP
  4. 易博客软件,主要为条新博客
  5. [汇编语言]DOS下的dubug的标志位的英文全名(助记忆)
  6. tensorflow检查op是否可导(反向传播)
  7. 正则匹配字符串中的图片地址
  8. DeLong测试 计算两个ROC曲线之间的统计意义
  9. 股票中的情侣配对交易
  10. 如何在Mac上使用Movavi Picverse增强照片?