读取文件数据: RFile(需8位转16位) 和 RFileReadStream

来源:互联网 发布:想做淘宝直播 编辑:程序博客网 时间:2024/05/21 07:04

1: Use RFile 和 RFs fsSession

 

void ReadFile (TDesC& aFileName)
    {
        RFs fsSession;
        User::LeaveIfError(fsSession.Connect());
        RFile file;        
        User::LeaveIfError(file.Open(fsSession, aFileName, EFileRead));
        
        TInt size = 0;
        file.Size(size);
        HBufC8 *temp = HBufC8::NewL(size);
        TPtr8 ptr = temp->Des();
        file.Read(0,ptr);
                        
        HBufC *fileData = HBufC::NewL(temp->Length()* 2);
        fileData->Des().Copy(ptr);        
        
        console->Printf(fileData->Des());        
        
        delete temp;
        temp = NULL;
        delete fileData;
        fileData = NULL;
        file.Close();    
        fsSession.Close();
    }

 

 

 

2: Using RFileReadStream 和 CCoeEnv::Static()->FsSession()

 

            RFile rFile;

            //Open file where the stream text is
            User::LeaveIfError(rFile.Open(CCoeEnv::Static()->FsSession(),
                    KFileName, EFileStreamText));
            CleanupClosePushL(rFile);

            // copy stream from file to RFileStream object
            RFileReadStream inputFileStream(rFile);
            CleanupClosePushL(inputFileStream);

            // HBufC descriptor is created from the RFileStream object.
            HBufC* fileData = HBufC::NewLC(inputFileStream, 32);

原创粉丝点击