通过NSString和NSData将数据写入文件

本文介绍了在Objective-C中如何使用NSString和NSData进行文件操作,包括将NSString对象写入文件、处理NSError、从文件读取NSString内容,以及使用NSData保存和读取文件数据。示例代码展示了具体的实现步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在学Objective-C,来做iOS开发,会陆陆续续把学习的内容补充完整。


一 将NSString对象写入文件

  在将字符串对象写入文件时,要指定字符串编码。字符串编码的作用是描述字符和代表字符的数字之间的映射关系。在ASCII码中,字符“A”对应01000001.在UTF-16编码中,字符“A”对应0000000001000001.

  Foudation框架大约支持20种不同的字符串编码,UTF编码支持几乎所有的语言。UTF分为UTF-8和UTF-16.在UTF-16中,一个字符将占用2个或者更多的字节。在UTF-8编码中,ASCII字符集中的前128个字符将占一个字节,其他的字符将在占用两个或者更多的字节。

  创建一个新的项目,类型为机遇Foundation的Command Line Tool,名称为Stingz.在main()函数中,通过NSString的类方法创建对象,然后将新创建的对象写入文件,代码如下:

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[])
{

    @autoreleasepool {
        
        NSMutableString *str = [[NSMutableString alloc] init];
        for(int i = 0; i < 10; i++){
            [str appendString:@"Aaron is cool!\n"];
        }
        [str writeToFile:@"/tmp/cool.txt" atomically:YES encoding:NSUTF8StringEncoding error:NULL];
        //创建一个文本,并将数组的中内容写入到文本中
        NSLog(@"done writing /tmp/cool.txt");
    }
    return 0;
}
  文件路径可以是绝对的或者相对的:绝对路径以/开头(/代表文件系统的根目录),而相对路径则是相对于程序当前的工作目录。相对路径不会以/开头。

二 NSError

在将字符串写入文件时可能会出现各种错误。为了让调用方有机会处理错误,苹果公司提供的很多方法都有要通过引用传入的NSError指针参数。更新上述代码,加入错误处理代码:

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[])
{

    @autoreleasepool {
        
        NSMutableString *str =
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值