- 不要等到明天,明天太遙遠,今天就行動。
須讀:看完該文章你能做什么?
字符串的讀寫
error的localizedDescription
學(xué)習(xí)前:你必須會什么?(在這里我已經(jīng)默認你具備C語言的基礎(chǔ)了)
NSString的基本使用
一、本章筆記
一、string的讀寫方法
1.根據(jù)一個文件 去創(chuàng)建我們的內(nèi)容
+ (nullable instancetype)stringWithContentsOfFile:(NSString *)path encoding:(NSStringEncoding)enc error:(NSError **)error;
2.根據(jù)一個文件 去寫入內(nèi)容
- (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函數(shù)
int main(int argc, const char * argv[])
{
#pragma mark 1.從文件讀
/*
根據(jù)一個文件 去創(chuàng)建我們的內(nèi)容
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 “l(fā)yh123.txt” couldn’t be opened because there is no such file.
/*
The file “l(fā)yh123.txt” couldn’t be opened because there is no such file 找不到文件
Error Domain=NSCocoaErrorDomain Code=260 "The file “l(fā)yh123.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;
}