Read
1,stringWithContentsOfFile 方法读取文件
NSString *filePath1 = @"/Users/xxx/Desktop/123.txt";
NSError *error = nil;
NSString *urlStr = [NSString stringWithContentsOfFile:filePath1 encoding:NSUTF8StringEncoding error:&error];
if (error == nil) {
NSLog(@"urlStr = %@",urlStr);
}else {
NSLog(@"error = %@",[error localizedDescription]);
}
参数说明:
file:绝对路径
error:
读取正确的情况下,error = nil;
读取出现错误,会将信息储存在error中
localizedDescription 方法,是读取error最有用信息部分,推荐使用
2,stringWithContentsOfURL 方法读取文件
//NSURL *url = [NSURL URLWithString:@"此处一般用url网址"];
NSURL *url = [NSURL fileURLWithPath:@"/Users/xxx/Desktop/123.txt"];//此处用本地路径
NSError *error = nil;
NSString *urlStr = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:&error];
if (error == nil) {
NSLog(@"urlStr = %@",urlStr);
}else {
NSLog(@"error = %@",[error localizedDescription]);
}
NSURL 注意事项:
(1) 完整url:协议头 + 主机地址 + 文件路径
(2) URLWithString 方法创建的url路径字符串中不能包含中文,如果包含中文,url将不能解析
(3) fileURLWithPath 方法创建的url路径字符串可以使用中文,并且只写本地路径即可,系统会自动补全协议头
Write
1,writeToFile方法写入文件
NSString *filePath2 = @"/Users/xxx/Desktop/123.txt";
NSString *str2 = @"i love u";
[str2 writeToFile:filePath2 atomically:YES encoding:NSUTF8StringEncoding error:nil];
atomically:
为YES时,写入文件不完整,则不会生成新文件;
为NO时,写入文件不完整,也会生成新文件
2,writeToURL 写入文件
NSString *filePath = @"/Users/xxx/Desktop/123.txt";
NSURL *url = [NSURL fileURLWithPath:filePath3];
NSString *urlStr = @"i love u";
[urlStr writeToURL:url atomically:YES encoding:NSUTF8StringEncoding error:nil];
writeToURL 方法多次写入文件,后一次写入会覆盖前一次写入的内容