快速业务通道

TFileStream

作者 佚名技术 来源 程序设计 浏览 发布时间 2012-06-30

TFileStream类使得应用程序可以从磁盘的文件中读取数据。

类关系 TObject->TStream->THandleStream

使用TFileStream类可以访问磁盘文件的信息。该类将打开一个全程的文件,并提供方法来读取该文件。如果应用程序中已经定义了该文件的句柄,可以使用THandleStream对象以同样的模式打开该文件。

方法列表

~TFilStream 删除TFileStream类的实例

TFileStream 创建TFileStream类的实例

方法

TFileStream::~TFileStream

删除一个TFileStream类的实例。

TFileStream::~TFileStream(void);

在应用程序中一般不直接调用~TFileStream方法,而是调用delete方法。~TFileStream 方法将在释放对象前关闭文件流的句柄。

TFileStream::TFileStream

创建一个TFileStream类的实例。

__fastcall TFileStream(const System::AnsiString FileName,Word Mode);

不要直接利用TFileStream来实例化读取或屿写入文件中的文件流。用new进行,把文件名和文件打开的方式作为参数传递:

参数Mode指明文件打开的方式。Mode由打开模式与共享模式组成。打开模式取值见下表:

模式 含义

fmCreate 创建一个指定文件名的文件,如果指定文件名的文件已经存在,则以写模式打开

fmOpenRead 以只读方式打开文件

fmOpenWrite 以写模式打开文件,写到文件的内容将替换文件以前的内容

fmOpenReadWrite 打开文件来修正文件的内容,而不是替换它们

共享模式如下表:

模式 含义

fmShareCompat 共享与经FCBs方式打开的兼容

fmShareExclusive 其他的应用程序不能打开该文件

fmShareDenyWrite 其他的应用程序只能以只读方式打开文件

fmShareDenyRead 其他的应用程序只能以写方式 打开文件

fmShareDenyNone 其他的应用程序可以以任何方式打开文件

如果文件不能被打开,将引发一个异常。

//-------------------------------------------------------------------------

THandleStream

THandleStream表示一个流对象,该对象可以便应用程序读取一个Windows句柄标志的资源。

类关系

使用THandleStream对象可以访问文件、接口、磁盘、邮件或其他可以提供Windows句柄的信息资源。例如,FileOpen函数可以提供磁盘上一个文件的Windows句柄。THandleStream对象在使用Windows 句柄进行I/O操作时要求应用程序使用统一的流接口。为了避免管理文件句柄时的额外消耗,可以使用TFileStream对象处理磁盘文件。

属性列表

Handle 流从中读取的信息资源的句柄

Size Handle属性指定资源的字节长度

方法列表

~THandleStream 取消THandleStream实例并释放内存

Read 读取Count字节的内容到缓冲区中

Seek 重设句柄流的当前位置

SetSize 设置文件结尾标志

THandleStream 创建一个THandleStream类的实例

Write 将Count个字节的数据写到当前位置

属性

THandleStream::Handle

指定流从中读取的信息资源的句柄。

__property int Handle={read = FHandle,nodefault};

从Handle属性中可以获得调用WindowsAPI时需要的句柄,或文件管理函数的句柄。为了读取资源可以使用THandleStream对象中定义的方法。

Handle属性是一个只读属性。不能通过改变句柄属性使得句柄流在读取操作中交换,反之亦然。例如,如果想将一个以只读方式打开的文件句柄改变成写模式必须使用下面给出的操作:

(1)释放流对象。

(2)调用FileClose函数关闭文件。

(3)以写模式重新打开文件,并使用句柄创建一个新的句柄对象的实例。然后,为文件打开一个TFileStream对象,并为流指定写模式。

只能在THandleStream对象被取消后才能对Handle属性调用FileClose函数。

THandleStream::Size

指定Handle属性指定资源的字节长度。

__property int Size = {rea = GetSize,write = SetSize,nodefault};

属性Size中决定了资源的字节长度。设置属性S

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号