八天学会OC

第07天OC语言(08):字符串读写上

2017-07-22  本文已影响13人  liyuhong
须读:看完该文章你能做什么?

字符串的读写
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;
}

上一篇 下一篇

猜你喜欢

热点阅读