对流进行操作时要引用 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. FileStream常用的属性和方法:

    对流进行操作时要引用 using System.IO; 命名空间 FileStream常用的属性和方法: 属性: CanRead 判断当前流是否支持读取,返回bool值,True表示可以读取 CanW ...

  2. FileStream 常用的属性和方法

    FileStream常用的属性和方法 (转) 对流进行操作时要引用 using System.IO; 命名空间 FileStream常用的属性和方法: 属性: CanRead 判断当前流是否支持读取, ...

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

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

  4. JavaScript常用全局属性与方法

    最近,在学习JavaScript,Java作域链包含全局,记录下常用的全局属性与方法,就当是知识的积累,未列出全部,如需查看全部可参考JS相关的API文档. 常用的全局属性:  全局属性      作 ...

  5. DOM常用的属性和方法

    之前一直傻傻分不清DOM和JavaScript究竟有什么区别,随着相关工作时间的增长,开始逐渐区分DOM和JavaScript了,最近,也一直在复习有关DOM方面的知识,<JavaScript ...

  6. 113.Pageinator和Page类常用的属性和方法

    Paginator和Page类: Paginator和Page类都是用来分页的,他们在Django中的路径为django.core.paginator.Pageinator和django.core.p ...

  7. js中Math对象常用的属性和方法

    1 Math对象 1.1定义:Math是js的一个内置对象,它提供了一些数学方法. 1.2特性:不能用构造函数的方式创建,无法初始化,只有静态属性和方法 1.3静态属性 1.3.1 Math.PI 圆 ...

  8. List(数组)里面常用的属性和方法

    常用属性: length 长度 reversed 翻转 isEmpty 是否为空 isNotEmpty 是否不为空常用方法: add 增加 addAll 拼接数组 增加多个数据 list.addAll ...

  9. EsayUi中常用的属性和方法总结

    文章转载自http://www.jb51.net/article/26077.htm 详细了解请查看官方文档 属性分为CSS片段和JS片段 CSS类定义:1.div easyui-window     ...

随机推荐

  1. vc2005(visual studio)使用习惯记录

    来源:http://blog.csdn.net/zdl1016/article/details/6184549 前言:sourceinsight不支持显示utf-8的文件, 实在是一大遗憾!vim现在 ...

  2. 虚拟机选择配置:解决tomcat内存溢出

    用于解决java.tomcat内存溢出:-server -XX:PermSize=128M -XX:MaxPermSize=256m

  3. java中jar命令打包一个文件夹下的所有文件

    (1)首先,必须保证java的所有路径都设置好,在dos提示符下输入jar -help出现C:\Documents and Settings\dly>jar -help非法选项:h用法:jar ...

  4. 谷歌扩展程序--------------Message

    转载:https://developer.chrome.com/extensions/messaging#external-webpage Message Passing Since content ...

  5. Android应用程序访问linux驱动第一步:实现并测试Linux驱动

    一直都想亲自做一次使用android应用程序访问Linux内核驱动的尝试,但总是没能做到.最近抽出时间,下决心重新尝试一次.尝试的开始当然是先写一个Linux内核驱动了. 我希望写一个简单测驱动程序, ...

  6. asp.net 大文上传配置

    配置iis的文件上传大小控制: 今天先说一个问题,在window server2008 下配置上传文件的大小,除了工程自身的config外还需要配置一下服务器上的applicationhost.con ...

  7. Git 思想和工作原理

    从根本上来讲,Git是一个内容寻址文件系统,并在此之上提供了一个版本控制系统的用户界面,它是一个非常强大且易用的工具,理解Git的工作原理,能够帮助我们更容易学习和使用Git. 本文不会像书籍里那样, ...

  8. HTML5 移动端如何使用css让百分比布局的弹窗水平和垂直方向上居中

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. HDOJ 3944 DP?

    尽量沿着边走距离最短.化减后 C(n+1,k)+ n - k, 预处理阶乘,Lucas定理组合数取模 DP? Time Limit: 10000/3000 MS (Java/Others)    Me ...

  10. CosmosEngine - Unity3D /2D 轻量级游戏开发框架

    CosmosEngine https://github.com/mr-kelly/CosmosEngine 快速入门 简介 特性 约定 整体架构图 使用经验 工作流 未来功能 快速入门 1.将NGUI ...