文件服务器之四:应用

来源:互联网 发布:linux的shell脚本教程 编辑:程序博客网 时间:2024/05/21 10:47

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

    }

原创粉丝点击