zoukankan      html  css  js  c++  java
  • Symbian 用流操作文件

    一、自定义的类

    代码
    class TUserGroup
     {
    public:
     TInt32 m_nGroupID;
     TBuf16
    <20> m_bufGroupName;

     
    void ExternalizeL(RWriteStream& aStream) const;
     
    void InternalizeL(RReadStream& aStream);
     };

    void TUserGroup::ExternalizeL(RWriteStream& aStream) const
     {
     aStream 
    << m_nGroupID;
     aStream 
    << m_bufGroupName;
     }

    void TUserGroup::InternalizeL(RReadStream& aStream)
     {
     aStream 
    >> m_nGroupID;
     aStream 
    >> m_bufGroupName;
     }

    二、写操作

    代码
    //创建流式文件
       TFileName fnDataFile;
       fnDataFile.Copy(_L(
    "c:\\StreamExam.dat"));

       RFs
    & fs = CCoeEnv::Static()->FsSession();

       RFileWriteStream fileWriteStream;
       
    //User::LeaveIfError(fileWriteStream.Create(fs,fnDataFile,EFileWrite));
       User::LeaveIfError(fileWriteStream.Replace(fs, fnDataFile,
         EFileWrite));
       fileWriteStream.PushL();

       
    //外部化数据到文件中
       TInt32 nID;
       TBuf16
    <20> bufName;

       nID 
    = 10;
       bufName.Append(_L(
    "John"));

       fileWriteStream 
    << nID;
       fileWriteStream 
    << bufName;

       
    //外部化存储自定义类
       TUserGroup userGroup;
       userGroup.m_nGroupID 
    = 50;
       userGroup.m_bufGroupName.Copy(_L(
    "beijing"));
       fileWriteStream 
    << userGroup;

       
    //提交更改、释放资源
       fileWriteStream.CommitL();
       fileWriteStream.Pop();
       fileWriteStream.Release();

    三、读的操作

    代码
    //打开流式文件
       TFileName fnDataFile;
       fnDataFile.Copy(_L(
    "c:\\StreamExam.dat"));
       
       RFs
    & fs=CCoeEnv::Static()->FsSession();
       
       RFileReadStream fileReadStream;
       User::LeaveIfError(fileReadStream.Open(fs,fnDataFile,EFileRead));
       fileReadStream.PushL();
       
       
    //从文件中内部化数据
       TInt32 nID;
       TBuf16
    <20> bufName;
       
       fileReadStream 
    >> nID;
       fileReadStream 
    >> bufName;
       
       RDebug::Print(_L(
    "start\n"));
       RDebug::Print(_L(
    "ID=%d  Name=%S\n"),nID,&bufName);
       
       
    //内部化自定义类
       TUserGroup userGroup;
       fileReadStream 
    >> userGroup;
       RDebug::Print(_L(
    "GroupID=%d  GroupName=%S\n"),userGroup.m_nGroupID,&(userGroup.m_bufGroupName));
       
       
    //释放资源
       fileReadStream.Pop();
       fileReadStream.Release();
       RDebug::Print(_L(
    "end\n"));
  • 相关阅读:
    Android :okhttp+Springmvc文件解析器实现android向服务器上传照片
    SpringMVC自定义类型转换器(让jsp支持2018-8-8转化成date类型)
    第一个SpringMVC
    Spring 各功能所用的包(附上网盘下载)
    Spring 基于xml的事务控制
    做一个单纯的react-image显示组件
    CSS Grid 读书笔记
    CSS Modules入门教程
    Taro开发微信小程序的初体验
    教你使用docker部署淘宝rap2服务
  • 原文地址:https://www.cnblogs.com/zziss/p/1652505.html
Copyright © 2011-2022 走看看