面试题答案
一键面试-
读取文件步骤:
- 创建
NSFileHandle
对象并打开文件。可以使用fileHandleForReadingAtPath:
方法,传入已知的文件路径。 - 使用
readDataToEndOfFile
方法读取文件中的数据到一个NSData
对象中。 - 关闭文件句柄,使用
closeFile
方法。
- 创建
-
读取文件代码示例:
NSString *filePath = @"/path/to/your/file.txt";
NSFileHandle *fileHandle = [NSFileHandle fileHandleForReadingAtPath:filePath];
if (fileHandle) {
NSData *fileData = [fileHandle readDataToEndOfFile];
NSString *fileContent = [[NSString alloc] initWithData:fileData encoding:NSUTF8StringEncoding];
NSLog(@"File content: %@", fileContent);
[fileHandle closeFile];
} else {
NSLog(@"Failed to open file for reading.");
}
-
写入文件步骤:
- 创建
NSFileHandle
对象并打开文件。这次使用fileHandleForWritingAtPath:
方法,传入已知的文件路径。如果文件不存在,此方法可能会返回nil
。 - 准备要写入的数据,一般是
NSData
对象。如果是字符串,可以使用dataUsingEncoding:
方法将其转换为NSData
。 - 使用
writeData:
方法将数据写入文件。 - 关闭文件句柄,使用
closeFile
方法。
- 创建
-
写入文件代码示例:
NSString *filePath = @"/path/to/your/file.txt";
NSFileHandle *fileHandle = [NSFileHandle fileHandleForWritingAtPath:filePath];
if (fileHandle) {
NSString *stringToWrite = @"Hello, this is some data to write.";
NSData *dataToWrite = [stringToWrite dataUsingEncoding:NSUTF8StringEncoding];
[fileHandle writeData:dataToWrite];
NSLog(@"Data written successfully.");
[fileHandle closeFile];
} else {
NSLog(@"Failed to open file for writing.");
}