All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
SQL,SERVER的内存会不断增加,问题分析_[SQL,Server教程]
深入讲解SQL Server 2008的新版CTP特性_[SQL Server教程]
delphi坐标映射
SQL,Server和Access、Excel数据传输_[SQL,Server教程]
修改Zend引擎实现PHP源码加密的原理及实践_php资料_编程技术
收集整理了一些javascript,经典函数_JavaScript技术_编程技术
C#,如何获取图片长宽_[Asp.Net教程]
总结:关于ASP.NET,2.0一些简单而有用的技巧_.net资料_编程技术
IsPostBack深入分析_[Asp.Net教程]
PHP程序加速探索之脚本执行速度测试_php资料_编程技术
Reading number is top 10 pictures
毛俊杰-能量永动机
NeedWallpaper5
More attractive than sora aoi1
Household design classic black and white
网上疯传的一篇小学作文《爸爸也治不了妈妈》
程序员的悲哀
大四女生借债隆胸成功
美女和狗狗1
Sell the barbecue as says father du breul2
NeedWallpaper7
Download software ranking
Be there or be square
Ashlynn Video3
Tram sex maniac 2 (H) rar bag13
网络管理员第三版
卡丁车单机版
Unix video tutorial1
Boxer's Top ten classic battle1
功夫熊猫2(上集)
The hero
Tram sex maniac 2 (H) rar bag14
qq published in(发表于) 2014/7/11 9:28:39 Edit(编辑)
C#文件处理技术:FileStream使用方法

C#文件处理技术:FileStream使用方法

C#文件处理技术:FileStream使用方法|实例

FileStream

FileStream对象表示在磁盘或网络路径上指向文件的流。一个FileStream类的实例实际上代表一个磁盘文件,它通过Seek方法对文件进行随机访问,也同时包含了流的标准输入、标准输出和标准错误等。FileStream默认对文件的打开方式是同步的,但它同样可以支持异步操作。

FileStream对象支持使用Seek方法对文件进行随机访问。Seek允许将读取/写入位置移动到文件中的任意位置。这是通过字节偏移参考点参数完成的。字节偏移量是相对于查找参考点而言的,该参考点可以是基础文件的开始、当前位置或结尾,分别由Seekorigin类的3个属性表示。

1.FileStream类的常用属性

FileStream类的常用属性及说明如表1所示。



表1 FileStream类的常用属性及说明

下面对FileStream类中比较重要的属性进行详细介绍。

(1)Length属性。获取用字节表示的流长度。

语法:

public override long Length { get; }

属性值:用字节表示流长度的是“长度值”,还是删除“长”字值。

(2)Position 属性。获取或设置此流的当前位置。

语法:

public override long Position { get; set; }

属性值:此流的当前位置。

2.FileStream类的常用方法

FileStream类的常用方法及说明如表2所示。



表2 FileStream类的常用方法及说明

下面对FileStream类中比较重要的方法进行详细介绍。

(1)Close ()方法。关闭当前流并释放与之关联的所有资源(如套接字和文件句柄)。

语法:

public virtual void Close ()

在创建和使用完一个流后一定要将其及时关闭。

(2)Flush ()方法。清除该流的所有缓冲区,使得所有缓冲的数据都被写入到基础设备。

语法:

public override void Flush ()

在调用Close ()方法方法之前调用Flush ()方法,可以将以前写入缓冲区的任何数据都复制到文件中,并且缓冲区被清除(其编码器状态除外)。

(3)Write ()方法。使用从缓冲区读取的数据将字节块写入该流。

语法:

public override void Write (byte[] array,int offset,int count)

参数说明如下。

array:指包含要写入该流的数据的缓冲区。

offset:指数组中的从零开始的字节偏移量,从此处开始将字节复制到当前流。

count:指要写入当前流的最大字节数。

3.使用FileStream操作文件

要用FileStream操作文件就要先实例化一个FileStream对象,FileStream的构造函数具有许多不同的重载/版本,FileStream类中最简单的构造函数只有两个参数,即文件名和FileMode枚举。

FileMode枚举规定了如何打开或创建文件,其包括的枚举成员如表3所示。



表3 FileMode类的枚举成员

下面以实例化一个FileStream为例来讲解FileStream操作文件的过程。

FileStream aFile = new FileStream("hb.txt",FileMode.OpenOrCreate,FileAccess.ReadWrite)

此行代码将打开文件“hb.txt”,对文件进行读写访问。注意,文件要放在程序运行目录下,否则就要传给构造函数绝对路径。

当打开文件时,FileStream类对象会维护一个内部文件指针,这个指针将会指向文件中的位置,在多数情况下,默认指向文件的开始位置,但是通过修改指针允许程序将指针定位在文件的任何地方。实现此功能的是Seek()方法。例如:

aFile.Seek(8,SeekOrigin.Begin)

在上面的代码中,参数8是指指针以8KB为单位的移动距离。参数SeekOrigin规定了开始计算的起始位置。SeekOrigin有3个枚举值Begin、Current和End,分别是开始、当前和结束。上面的代码将文件指针移到以开始为起始位置的8KB后。

FileStream类以字节的方式读取文件,因此可以用于任何数据文件,而不仅仅是文本文件。例如,FileStream对象可以读取类似图像和声音文件。在处理文本文件时,StreamWriter和StreamReader更方便。

FileStream对象通过Read()方法读取数据。Read(byte[] array, int offset,int count,)方法中,参数array是字节数组,用来接受FileStream对象中的数组。 offset参数是字节数组中开始写入的位置。count规定了从文件中读出多少字节。例如:



添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.