- 不要等到明天,明天太遥远,今天就行动。
须读:看完该文章你能做什么?
字符串的读写
error的localizedDescription
学习前:你必须会什么?(在这里我已经默认你具备C语言的基础了)
NSString的基本使用
一、本章笔记
一、string的读写方法
1.根据一个文件 去创建我们的内容
+ (nullable instancetype)stringWithContentsOfFile:(NSString *)path encoding:(NSStringEncoding)enc error:(NSError **)error;
2.根据一个文件 去写入内容
- (BOOL)writeToFile:(NSString *)path atomically:(BOOL)useAuxiliaryFile encoding:(NSStringEncoding)enc error:(NSError **)error;
二、code
main.m
#pragma mark 08-字符串读写上
#pragma mark - 代码
#import <Foundation/Foundation.h>
#pragma mark 类
#pragma mark - main函数
int main(int argc, const char * argv[])
{
#pragma mark 1.从文件读
/*
根据一个文件 去创建我们的内容
file : 文件路径
encoding : 编码 英文 iOS-5988 中文 GBK GBK2312 一般情况下填写UTF-8
error : 如果读取错误,会将错误信息保存到error中, 如果读取正确, 就没有error = nil
error原本是一个指针 &error那就指向指针的指针
注意 : 以后在oC方法中 但凡看到xxOfFile的方法, 传递的一定是全路径(绝对路径)
/Users/liyuhong165/Desktop/0.OC语言/day07Code/lyh.txt
/ 代表电脑硬盘
*/
NSString *path = @"/Users/liyuhong165/Desktop/0.OC语言/day07Code/lyh123.txt";
NSError *error = nil; // *error原本是一个指针 &error那就指向指针的指针
NSString *str = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:&error];
if (error == nil) {
NSLog(@"%@",str);
}
else
{
NSLog(@"error = %@",[error localizedDescription]);
// localizedDescription 查看一个详情的错误信息
// The file “lyh123.txt” couldn’t be opened because there is no such file.
/*
The file “lyh123.txt” couldn’t be opened because there is no such file 找不到文件
Error Domain=NSCocoaErrorDomain Code=260 "The file “lyh123.txt” couldn’t be opened because there is no such file." UserInfo={NSFilePath=/Users/liyuhong165/Desktop/0.OC语言/day07Code/lyh123.txt, NSUnderlyingError=0x1005043a0 {Error Domain=NSPOSIXErrorDomain Code=2 "No such file or directory"}}
*/
}
#pragma mark 2.从文件写
NSString *str1 = @"lyh165";
/*
File : 文件路径
atomically : 如果传入YES,字符串 写入文件的过程 如果没有写完 , 那么不会生成文件
如果传入NO,字符串写入文件的过程 如果没有写完,会生成文件
encoding : 一般情况下填写UTF-8
error : 如果读取错误,会将错误信息保存到error中, 如果读取正确, 就没有error = nil
*/
NSString *path2 = @"/Users/liyuhong165/Desktop/0.OC语言/day07Code/wirte.txt";
BOOL flag = [str1 writeToFile:path2 atomically:YES encoding:NSUTF8StringEncoding error:nil];
NSLog(@"flag = %i",flag);
return 0;
}