- 不要等到明天饲宛,明天太遙遠(yuǎn),今天就行動(dòng)今穿。
須讀:看完該文章你能做什么茂装?
字符串的讀寫(xiě)
error的localizedDescription
學(xué)習(xí)前:你必須會(huì)什么?(在這里我已經(jīng)默認(rèn)你具備C語(yǔ)言的基礎(chǔ)了)
NSString的基本使用
一、本章筆記
一虐唠、string的讀寫(xiě)方法
1.根據(jù)一個(gè)文件 去創(chuàng)建我們的內(nèi)容
+ (nullable instancetype)stringWithContentsOfFile:(NSString *)path encoding:(NSStringEncoding)enc error:(NSError **)error;
2.根據(jù)一個(gè)文件 去寫(xiě)入內(nèi)容
- (BOOL)writeToFile:(NSString *)path atomically:(BOOL)useAuxiliaryFile encoding:(NSStringEncoding)enc error:(NSError **)error;
二搀愧、code
main.m
#pragma mark 08-字符串讀寫(xiě)上
#pragma mark - 代碼
#import <Foundation/Foundation.h>
#pragma mark 類(lèi)
#pragma mark - main函數(shù)
int main(int argc, const char * argv[])
{
#pragma mark 1.從文件讀
/*
根據(jù)一個(gè)文件 去創(chuàng)建我們的內(nèi)容
file : 文件路徑
encoding : 編碼 英文 iOS-5988 中文 GBK GBK2312 一般情況下填寫(xiě)UTF-8
error : 如果讀取錯(cuò)誤,會(huì)將錯(cuò)誤信息保存到error中, 如果讀取正確, 就沒(méi)有error = nil
error原本是一個(gè)指針 &error那就指向指針的指針
注意 : 以后在oC方法中 但凡看到xxOfFile的方法, 傳遞的一定是全路徑(絕對(duì)路徑)
/Users/liyuhong165/Desktop/0.OC語(yǔ)言/day07Code/lyh.txt
/ 代表電腦硬盤(pán)
*/
NSString *path = @"/Users/liyuhong165/Desktop/0.OC語(yǔ)言/day07Code/lyh123.txt";
NSError *error = nil; // *error原本是一個(gè)指針 &error那就指向指針的指針
NSString *str = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:&error];
if (error == nil) {
NSLog(@"%@",str);
}
else
{
NSLog(@"error = %@",[error localizedDescription]);
// localizedDescription 查看一個(gè)詳情的錯(cuò)誤信息
// 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語(yǔ)言/day07Code/lyh123.txt, NSUnderlyingError=0x1005043a0 {Error Domain=NSPOSIXErrorDomain Code=2 "No such file or directory"}}
*/
}
#pragma mark 2.從文件寫(xiě)
NSString *str1 = @"lyh165";
/*
File : 文件路徑
atomically : 如果傳入YES,字符串 寫(xiě)入文件的過(guò)程 如果沒(méi)有寫(xiě)完 , 那么不會(huì)生成文件
如果傳入NO,字符串寫(xiě)入文件的過(guò)程 如果沒(méi)有寫(xiě)完,會(huì)生成文件
encoding : 一般情況下填寫(xiě)UTF-8
error : 如果讀取錯(cuò)誤,會(huì)將錯(cuò)誤信息保存到error中, 如果讀取正確, 就沒(méi)有error = nil
*/
NSString *path2 = @"/Users/liyuhong165/Desktop/0.OC語(yǔ)言/day07Code/wirte.txt";
BOOL flag = [str1 writeToFile:path2 atomically:YES encoding:NSUTF8StringEncoding error:nil];
NSLog(@"flag = %i",flag);
return 0;
}