Symbian程序开发中文件操作小结
2010-08-20 01:51:00 来源:WEB开发网一、Symbian OS 文件系统
1、Symbian OS中的文件名与路径名
文件名和路径名可以带空格,但不能包含以下字符:<、>、"、/、| 。驱动器c:为系统分区,d:为虚拟缓冲盘,e:为存储卡,z:为系统只读驱动器;文件或目录的完整路径名(包括盘符、子目录)的长度不能超过256个字符;
2、应用程序访问路径的能力说明
应用程序对特定目录的访问也有限制,以下表格列出了访问相应目录所需要的能力:
目录 (包括子目录) 需要的能力
读访问 写访问
resource None TCB
sys AllFiles TCB
/private/
/private/
/
这里的SID指的是应用独有的安全ID(SecureID).每个应用都有自己的安全ID及按照安全ID而定义的独有的私有目录,如c:/private /20000001。 应用的SecureID一般是由在工程文件.mmp中的UID3来决定的(如果没有特别定义的话)。
二、操作文件系统的相关API1、连接文件服务器并管理文件系统的RFs类
RFs& fs = CEikonEnv::Static()->Static()->FsSession();
2、针对文件操作的RFile类
Close:关闭文件,与其他语言类似,在关闭文件前,需要调用RFile::Flush将缓冲区的内容写入存储。注意:当父会话RFs关闭的时候,文件也会被关闭;
3、针对文件及路径解析的TParse(TParsePtr、TParsePtrC)类
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方法。
赞助商链接