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);