- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
文件服务器和流.ppt
文件服务器和流 文件服务器和流 本讲介绍 文件服务器 流和流集(Streams and stores) 文件服务器和流 文件系统服务器 简称为文件服务器 处理所有文件和目录管理的所有方面 提供访问ROM、RAM和Flash存储以及可移动存储设备的一致性接口 文件服务器运行时进程为EFILE.EXE 客户端一侧实现的类由EFSRV.DLL提供 文件服务器和流 因为文件服务器包含了加载器(loader) 它从数据保护(data-caged)目录\sys\bin中加载可执行文件 文件服务器是可信任计算机基础(trusted computer base ,TCB)的一部分 更多平台安全内容的在后面讲义中介绍 Symbian OS 文件系统 理解系统中文件服务器的角色 了解RFs 类提供的基本功能 了解正确打开文件服务器会话 (RFs) 和一个文件子会话 (RFile),以及读写文件的代码 知道RFile API四个打开文件的方法 理解如何利用TParse来操作和查询文件名称 文件服务器会话类 文件服务器提供 允许调用代码操作磁盘、目录及文件的基本服务 为了使用文件服务器 调用者必须首先创建一个文件服务器会话 由一个RFs 类实例表示 通常的模式是 使用RFS 会话连接文件服务器 创建和使用一个RFile 子会话 然后释放会话和子会话 如下面例子所示: 文件服务器会话类 文件服务器会话类 代码实例使用了清除栈 以确保关联到打开的文件服务器会话和文件子会话是异常退出安全的 注意:如果会话对象是一个类的成员变量 不需要使用清除栈保护它们,因为类的析构函数会保证会话和子会话被关闭 如果一个文件没有被显式关闭 通过调用RFile::Close() 在与它关联的服务器会话关闭时,也会关闭它 但是在一个文件句柄不在需要时清除它是一个很好的习惯 文件服务器会话类 一个已经连接的RFs 会话 能被用于打开任意数目的文件和目录(以子会话的形式) 或者执行其他文件相关的操作 一个文件服务器会话 能够在应用程序的整个生命期中保持打开 类RFs 提供许多游泳的文件系统相关操作 包括如下部分... 类 RFs Delete() 和 Rename() 用于删除和重命名指定的文件 Replace() 用于将文件移动到另一个位置 MkDir(), MkDirAll(), RmDir() 和 Rename() 用于创建、移除和重命名指定的目录 Att(), SetAtt(), Modified() 和 SetModified() 用于读和改目录和文件的属性 例如隐藏、系统或只读标志 类 RFs NotifyChange() 一个异步请求,用以接收文件、目录和目录项修改的通知 NotifyChangeCancel() 用于取消已激活的请求 Drive(), SetDriveName(), Volume() 和SetVolumeLabel() 用于操作磁盘和卷名 ReadFileSection() 用于不打开文件的情况下查看文件数据 类 RFs AddFileSystem(), MountFileSystem(), DismountFileSystem() 和 RemoveFileSystem() 用于动态添加和删除文件系统插件 它扩展了Symbian OS所支持的文件服务器类型 潜在的文件系统插件的例子包括: 对网络上的远程文件系统的支持 在存储文件数据之前对其进行加密 插件文件系统模块 实现为targettype fsy 的多态DLL 文件句柄类 RFile 类 是连接到文件服务器的RFs客户端会话的子会话 一个RFile 对象 代表了对一单个命名文件的访问 提供的功能包括: 打开、创建和替换文件 或者打开一个临时文件 以及文件数据的读写 类 RFile RFile::Open() 用于打开一个现有的文件;如果文件不存在,则返回一个错误 RFile::Create() 用于创建和打开一个新文件 如果文件已经存在,则返回一个错误KErrAlreadyExists RFile::Replace() 创建一个不存在的文件 如果文件存在的话,将它删除并创建一个空文件 RFile::Temp() 打开一个临时文件,并为其赋予一个唯一的名称 文件句柄类 一个通用模式 调用Open() 去试图打开一个已经存在的文件 如果它还不存在的话,调用Create() 例如 当使用日志文件时,一个已经存在文件不能被替换 而是简单的将数据追加在它后面: 文件句柄类 当打开一个文件时 传入一个TFileMode 的位模板值 用以指定文件使用的模式 例如,写文件还是读文件 共享模式 指示其他RFile 对象是否能够访问打开的文件 以及访问是否是只读的
文档评论(0)