面试题答案
一键面试#import <Foundation/Foundation.h>
@interface FileReader : NSObject
- (NSString *)readTextFileAtPath:(NSString *)path error:(NSError **)error;
@end
@implementation FileReader
- (NSString *)readTextFileAtPath:(NSString *)path error:(NSError **)error {
NSFileManager *fileManager = [NSFileManager defaultManager];
if (![fileManager fileExistsAtPath:path]) {
if (error) {
*error = [NSError errorWithDomain:NSPOSIXErrorDomain code:ENOENT userInfo:nil];
}
return nil;
}
NSError *readError;
NSString *fileContent = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:&readError];
if (readError) {
if (error) {
*error = readError;
}
return nil;
}
return fileContent;
}
@end
你可以这样调用这个方法:
int main(int argc, const char * argv[]) {
@autoreleasepool {
FileReader *reader = [[FileReader alloc] init];
NSError *error;
NSString *content = [reader readTextFileAtPath:@"/path/to/your/file.txt" error:&error];
if (content) {
NSLog(@"文件内容: %@", content);
} else {
NSLog(@"读取文件出错: %@", error);
}
}
return 0;
}