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

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

 2010-03-18 20:53:00 来源:WEB开发网   
核心提示:据我测试,文件编码必须是UTF-8 without BOM(就是文件头不带EFBBBF三个字节,Symbian 文件读写及读写流的方法(7),这三个字节对于UTF-8编码来说不是必需的,但是Windows平台下的UTF-8编码文件都有这三个字节),可以按需要选用,RFileReadStream/RFileWriteSt

据我测试,文件编码必须是UTF-8 without BOM(就是文件头不带EFBBBF三个字节,这三个字节对于UTF-8编码来说不是必需的,但是Windows平台下的UTF-8编码文件都有这三个字节),UTF-16的貌似不支持,下次作一个详尽的测试。

示例代码:

RFs fs;

User::LeaveIfError(fs.Connect());

RFileReadStream fileReadStream;

fileReadStream.Open(fs,KConfigFilePath,EFileStreamText);

CLineReader* lineReader = CLineReader::NewL(fileReadStream);

TInt err(KErrNone);

while(true)

{

lineReader->ReadLineL(0,err);

if(KErrEof == err)

{

break;

}

// do sth with lineReader->iBufPtr

}

delete lineReader;

fileReadStream.Close();

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();

上一页  2 3 4 5 6 7 

Tags:Symbian 文件 读写

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