//------------------------------------------------------------------------------------------------------------ void CTestAppRoot::RunL() { const TInt chunkSize = 1024; RFs filesys; RFile file; TBuf8<chunkSize> buf; TInt ret = 0; TInt counter = 0; ret = filesys.Connect(); if (KErrNone != ret) { iTest.Printf(_L("\nError connecting to the file system: %d\n"), ret); } else { ret = file.Replace(filesys, iTo, EFileWrite); if (KErrNone != ret) { iTest.Printf(_L("\nError replacing the destination file: %d\n"), ret); } else { iTest.Printf(_L("Copying:\n")); while (1) { // KErrNone returned if EOF ret = filesys.ReadFileSection(iFrom, counter*chunkSize, buf, chunkSize); if (KErrNone != ret) { iTest.Printf(_L("\nError reading from file: %d\n"), ret); break; } ret = file.Write(buf); if (KErrNone != ret) { iTest.Printf(_L("\nError writing to file: %d\n"), ret); break; } iTest.Printf(_L("#")); // Break if EOF if (chunkSize > buf.Length()) break; counter++; } } } file.Close(); filesys.Close(); CActiveScheduler::Stop(); }