织梦CMS - 轻松建站从此开始!

罗索

Symbian文件操作

jackyhwei 发布于 2010-07-02 14:23 点击:次 
//MyFileOperate.h ///////////////////////////////////////////////////////// #ifndef __MY_FILE_OPERATE_H__ #define __MY_FILE_OPERATE_H__ ///////////////////////////////////////////////////////// #include f32file.h ////////////////////////////////////
TAG:

//MyFileOperate.h

  1. #ifndef __MY_FILE_OPERATE_H__ 
  2. #define __MY_FILE_OPERATE_H__ 
  3.  
  4. #include <f32file.h> 
  5.  
  6. //Symbian File Operate 
  7. class CMyFileOperate 
  8. public
  9. static CMyFileOperate* NewL(const TDesC &aName, TUint aFileMode = EFileWrite); 
  10. ~CMyFileOperate(); 
  11.  
  12. public
  13. TInt Read(TDes8 &aDes, TInt aLength); 
  14. TInt Seek(TSeek aMode, const TInt &aPos); 
  15. TInt Write(const TDesC8 &aDes); 
  16. TInt Write(const TDesC8 &aDes, TInt aLength); 
  17. TInt Size(); 
  18. TInt CleanContent(); 
  19.  
  20. protected
  21. CMyFileOperate(); 
  22. void ConstructL(const TDesC &aName, TUint aFileMode); 
  23.  
  24. protected
  25. RFs iFs; 
  26. RFile iFile; 
  27. }; 
  28. #endif//__MY_FILE_OPERATE_H__ 

//MyFileOperate.cpp

  1. #include "MyFileOperate.h" 
  2.  
  3. CMyFileOperate* CMyFileOperate::NewL(const TDesC &aName, TUint aFileMode) 
  4. CMyFileOperate* self=new(ELeave)CMyFileOperate(); 
  5. self->ConstructL(aName, aFileMode); 
  6. return self; 
  7.  
  8. void CMyFileOperate::ConstructL(const TDesC &aName, TUint aFileMode) 
  9. iFs.Connect(); 
  10.  
  11. iFs.MkDirAll(aName); 
  12.  
  13. if ( KErrNone != iFile.Open(iFs, aName, aFileMode)) 
  14.    iFile.Create(iFs, aName, aFileMode); 
  15.  
  16. CMyFileOperate::~CMyFileOperate() 
  17. iFile.Close(); 
  18. iFs.Close(); 
  19.  
  20. CMyFileOperate::CMyFileOperate() 
  21.  
  22. TInt CMyFileOperate::Read(TDes8 &aDes, TInt aLength) 
  23. return iFile.Read(aDes, aLength); 
  24.  
  25. TInt CMyFileOperate::Seek(TSeek aMode, const TInt &aPos) 
  26. TInt pos = aPos; 
  27. return iFile.Seek(aMode, pos); 
  28.  
  29. TInt CMyFileOperate::Write(const TDesC8 &aDes) 
  30. return iFile.Write(aDes); 
  31.  
  32. TInt CMyFileOperate::Write(const TDesC8 &aDes, TInt aLength) 
  33. return iFile.Write(aDes, aLength); 
  34.  
  35. TInt CMyFileOperate::Size() 
  36. TInt size = 0; 
  37.  
  38. if (KErrNone == iFile.Size(size)) 
  39.    return size; 
  40.  
  41. return -1; 
  42.  
  43. TInt CMyFileOperate::CleanContent() 
  44. return iFile.SetSize(0); 
(zj41342626)
本站文章除注明转载外,均为本站原创或编译欢迎任何形式的转载,但请务必注明出处,尊重他人劳动,同学习共成长。转载请注明:文章转载自:罗索实验室 [http://www.rosoo.net/a/201007/9769.html]
本文出处:百度博客 作者:zj41342626
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
将本文分享到微信
织梦二维码生成器
推荐内容