檔案伺服器之一:檔案處理

來源:互聯網
上載者:User

 

*檔案伺服器
 - 通過用戶端API進行訪問,該API在f32file.h中定義
 (磁碟機A——Z:C是系統內建儲存位置,Z是ROM唯讀記憶體保留的,其他的可以任意分配)
*檔案伺服器會話
 - 所有的檔案都是通過會話進行訪問
 - 應用程式可能有多個會話
 - 使用RFs類開啟會話

 

*串連到檔案伺服器
 - 增加資源數
 - 必須在完成操作之後關閉資源,比如
 RFs fsSession;
 User::LeaveIfError(fsSession.Connect());
 ……
 fsSession.Close();

*使用CONE環境提供的執行個體,比如:
 RFs& fs = CCoeEnv::Static()->FsSession();

 

 

*RFs功能包括
 - 添加、刪除、移動和重新命名檔案和目錄
 - 擷取目錄列表
 - 保持包含磁碟機盤符和路徑的預設路徑
 - 擷取磁碟機和卷的資訊
 - 請求重要修改的通知事件

*如下的檔案訪問樣本中,CDir類包含目錄列表
RFs& fs = CCoeEnv::Static()->FsSession();
CDir* anEntryList = NULL;
_LIT(KPath,"c://nokia//");

User::LeaveIfError(fs.GetDir(KPath, KEntryAttNormal, ESortByName, anEntryList));
//迭代訪問該列表
for (TInt I=0; i<anEntryList->Count(); I++)
{
 const TEntry& anEntry = (*anEntryList)[I];
 TBuf<KMaxFileName> name = anEntry.iName;
 TUInt IAttributes = anEntry.IAtt;
 TInt iSize = anEntry.iSize;
}

delete anEntryList;
anEntryList = NULL;

 

 

 

讀/寫檔案
*RFile類
 - 提供控制代碼以開啟單個檔案
 - RFile::Create()開啟一個新檔案用於寫入
 - RFile::Open()開啟一個已有檔案用於訪問
 - RFile::Replace()刪除已有檔案並開啟一個新檔案,或者在該檔案不存在的情況下直接建立一個新檔案
 - RFile::Flush()將緩衝的資料寫入檔案
 - RFile::Close()關閉檔案
*讀寫檔案方法
 - RFile::Read()和RFile::Write()
 - 只適用於8位位元據或是ASCII文本
 - 不能用於其他資料類型
 - 流更適用於檔案讀寫操作

 

 

使用RFile操作位元據
*訪問位元據
*RFile類表示一個檔案
*一旦開啟檔案,就可以讀/寫資料
 - RFile::Read()
 - RFile::Write()
*檔案資料作為位元據或ASCII文本進行處理
*使用位元組描述符
 - TDes8,TDesC8,等
*Series60隻支援Unicode,所以使得該函數適用性有限

 

 

*刪除檔案和目錄
 - 檔案不能處於開啟狀態或是唯讀狀態
 - 不能刪除系統檔案
 - 目錄必須為空白
 - 不能刪除根目錄
 - 對於檔案使用RFs::Delete(), 對於目錄使用RFs::RmDir()
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.