Symbian里的File,Stream,Store

来源:互联网 发布:微信授权登录demo php 编辑:程序博客网 时间:2024/05/28 05:14

最近看别人写的代码用到了流操作,之前看过Symbian里的Stream和Store的介绍,但是一直没有用,所以久了也就忘记了,今天重新看了一下书,对Symbian里的File, Stream, Store有了一个比较清晰的认识,现在总结一下,免得又忘记了!

Symbian里的File就不做介绍了,主要介绍一下Stream和Store

 

Stream

两个基本的Stream

RReadStream和RWriteStream

Symbian里的stream都是相对与被操作的对象而言的,RReadStream用于将一个对象读入到流中,在读入流之前需要打开或创建一个具体的流,比如RFileReadStream,RStoreReadStream,RMsvReadStream等,打开或创建一个流是为了讲其与文件关联起来。从功能上来讲,对流的操作和对文件的操作其实是一样的,引入流是为了提高系统的效率,因为流提供了缓冲机制,只有当缓冲满了或者执行了commit操作以后,流才将其里面的内容写入文件,从而减少了与文件系统的交互。

 

Store

store是stream的集合,用于存储多个流对象。

下面是store的类层次结构

class CPersistentStore : public CStreamStore;

class CBufStore : public CStreamStore;

class CFileStore : public CPersistentStore;

class CEmbeddedStore: public CPersistentStore;

class CPermanentFileStore : public CFileStroe;

class CDirectFileStore : public CFileStore;

每一个具体的Store的作用可以查询SDK

在使用每一个store之前也需要将其与与一个文件相关联,然后通过CStreamDictionary流来获取store里的每个流的ID,前提条件是要知道每一个流的TUid号!