MST

星途 面试题库

面试题:Objective-C在Mac OS开发中如何实现文件读取

在Mac OS开发场景下,使用Objective-C编写一个方法,能够读取指定路径下文本文件的内容并返回。要求处理可能出现的文件不存在等错误情况。
32.5万 热度难度
编程语言Objective-C

知识考点

AI 面试

面试题答案

一键面试
#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;
}