WEB开发网
开发学院手机开发Symbian 开发 Symbian 文件读写及读写流的方法 阅读

Symbian 文件读写及读写流的方法

 2010-03-18 20:53:00 来源:WEB开发网   
核心提示:fs.Close();很方便吧,RFileLocation: f32file.hLink against: efsrv.lib创建或者打开一个文件,Symbian 文件读写及读写流的方法(5),可以对文件进行所有的操作,读啊写啊,或者可以通过SetObserver()设定观察者,利用这个观察者可以监视文件状况,改名改属

fs.Close();

很方便吧。

RFile

Location: f32file.h

Link against: efsrv.lib

创建或者打开一个文件,可以对文件进行所有的操作,读啊写啊,改名改属性等等。

从Read()、Write()的所有重载版本看,参数都是TDesC8/TDes8 的,看来应该是对UTF-8 without BOM编码的文件适用。另外Read()、Write()都提供了同步、异步两种方式,可以按需要选用。

RFileReadStream/RFileWriteStream

Location: S32FILE.H

Link against: estor.lib

从RReadStream/RWriteStream派生出来的文件流。

示例代码:

RFileWriteStream writer;

writer.PushL(); //推上清洁栈

User::LeaveIfError(writer.Replace(fileSession, KFileName, EFileWrite)); //将流与文件绑定

writer << aTxt; //将aTxt的内容写入流

writer.CommitL(); //提交,相当于Flush

writer.Pop();

writer.Close();

Symbian文件操作整理

本文不断更新中…

BaflUtils

Location: BAUTILS.H

Link against: bafl.lib

BaflUtils(Basic Application Framework Library)提供的全是静态方法,使用起来非常爽,提供诸如FileExists、PathExists(文件夹全路径)、 FolderExists(不必指定盘符)等方法。不过这些方法都需要传递一个RFs&,BaflUtils需要有这么个FileSession 才能进行相关操作。

EikFileUtils

Location: EIKFUTIL.H

Link against: eikcore.lib

类似于BaflUtils类,最大的不同在于这个类的静态方法不需要传递RFs&,因此这个类经常用于GUI App中。不过这个类的方法没有BaflUtils来得全面,比如居然没有FileExists方法。

CFileMan

Location: f32file.h

Link against: efsrv.lib

以上两个类本质上是对一个CFileMan的封装。 FileMan==FileManager,提供了Copy、Delete、Move、Attribs(改文件属性)等方法,通过NewL(RFs& amp;)方法可以构造一个CFileMan,然后就可以通过它来操作文件了。

CFileMan::NewL()有一个重载版本支持传入一个 MFileManObserver指针作为参数,或者可以通过SetObserver()设定观察者,利用这个观察者可以监视文件状况,以便对特定文件的复制、删除等操作进行响应。

上一页  1 2 3 4 5 6 7  下一页

Tags:Symbian 文件 读写

编辑录入:coldstar [复制链接] [打 印]
赞助商链接