void CTestFileAppUi::ReadFile()
{
RFs fs;
RFile file;
User::LeaveIfError(fs.Connect());
CleanupClosePushL(fs);
TInt err = file.Open(fs,KFileName,EFileRead);
CleanupClosePushL(file);
if (err != KErrNone)
{
CleanupStack::PopAndDestroy(2);
return;
}
TInt fileSize;
file.Size(fileSize);
HBufC8* fileData8 = HBufC8::NewLC(fileSize);
TPtr8 ptr8(fileData8->Des());
file.Read(ptr8);
HBufC* fileData16 = HBufC::NewLC(fileSize);
TPtr ptr16(fileData16->Des());
ptr16.Copy(ptr8);
CleanupStack::PopAndDestroy(4);
}
void CTestFileAppUi::WriteFile()
{
RFs fs;
User::LeaveIfError(fs.Connect());
CleanupClosePushL(fs);
RFile file;
CleanupClosePushL(file);
TInt err = file.Open(fs,KFileName,EFileWrite);
if (err != KErrNone)
{
CleanupStack::PopAndDestroy(2);
return;
}
User::LeaveIfError(file.Write(KFileText));
CleanupStack::PopAndDestroy(2);
}
void CTestFileAppUi::ReadStream()
{
RFs fs;
User::LeaveIfError(fs.Connect());
CleanupClosePushL(fs);
RFile file;
TInt err = file.Open(fs,KStreamName,EFileRead);
if (err != KErrNone)
{
CleanupStack::PopAndDestroy(2);
return;
}
TInt fileSize;
file.Size(fileSize);
HBufC* fileData = HBufC::NewLC(fileSize);
TPtr ptr(fileData->Des());
RFileReadStream readStream(file);
CleanupClosePushL(readStream);
readStream >> ptr;
CleanupStack::PopAndDestroy(4);
}
void CTestFileAppUi::WriteStream()
{
RFs fs;
User::LeaveIfError(fs.Connect());
CleanupClosePushL(fs);
RFile file;
TInt err = file.Open(fs,KStreamName,EFileWrite);
CleanupClosePushL(file);
if (err != KErrNone)
{
CleanupStack::PopAndDestroy(2);
return;
}
RFileWriteStream writeStream(file);
CleanupClosePushL(writeStream);
writeStream << KStreamText;
CleanupStack::PopAndDestroy(3);
}