WEB开发网
开发学院手机开发Symbian 开发 Symbian中的文件操作 阅读

Symbian中的文件操作

 2010-06-03 16:14:00 来源:WEB开发网   
核心提示:User::LeaveIfError(file.Open(fs, _L("C:\file.foo"), EFileWrite));TBuf8<256> buf;file.Read(buf, 256);file.Seek(ESeekStart, 911);file.Write(_L8(&q

User::LeaveIfError(file.Open(fs, _L("C:\file.foo"), EFileWrite));

TBuf8<256> buf;

file.Read(buf, 256);

file.Seek(ESeekStart, 911);

file.Write(_L8("Some thing you wanna write..."));

file.Close();

fs.Close();

注:以上代码没有具过测试,没有具过编译检查,但是具过了对照SDK DeveloperLibrary的检查,技术上应该不会有什么问题。有两点要说明的,在程序中写死(HardCode)变量长度和位置什么东西还是最好用MACRO代替,这可能是所有 programmer的常识了,我并不是在教大家而是指名我的实例代码中的不足;另一点就是_L8(), _L()这两个MACRO是Symbian不支持大家再使用的了,大家最好用_LIT()或者_LIT8()来代替好了,此处仅仅为了方便使用了一下。

大家可以很容易从DeveloperLibrary看出,RFile支持的读写只有TDes8这种类型,也就是说它只能以byte,或byte数组的形式写入或者读出数据。如果大家想使用文本文件或者二进制数据文件的话,就要借助更高级的文件类了,他们的使用方法仍然是大同小异。

TFileText 提供了文本文件的读写,从他的API Reference中很容易看出来,在我们建立好的TFileText对象上,只要Set一个RFile到它本身上面,我们就可以用这个 TFileText对象来很容易的对文件(就是底层的RFile)来进行文本文件的读写了。

与此类似,RFileReadStream对象,在构造的时候只需指明构建在哪个RFile对象上,我们就可以方便的在这个RFile对象上进行数据的操作,比如读出一个32bit的整数,读出一个 64比特实型数。RFileWriteStream进行的是写入方面的操作,操作方式与读入类相同,就不赘述了。

从上面的例子和说明我们可以看出,Symbian系统的文件操作几乎与其他平台没什么太大的不同,也是符合所有的抽象文件操作要求的。对文件的操作只要我们看看DeveloperLibrary,记住几个常用的过程,就没有什么困难的了。

希望我写的文字能给大家带来些帮助!

为 kcomex 补充两点:

1、symbian的所有文件名中最好不好含有空格等特殊字符,负责编译可能出错,我用0.9SDK是这样的。

2、如果编译的时候出现了你不知道的文件夹,请将mmp文件所在的文件夹中的.bat和.inf文件删掉,用.mmp重新生成这两个文件。我一般都是使用mmpclick这个工具来生成的,因为命令行毕竟不方便。关于mmpclick的使用,在SDK附带的工具中有详细的说明。

上一页  1 2 

Tags:Symbian 文件 操作

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