Foundation 之 NSData

来源:互联网 发布:流量攻击软件 编辑:程序博客网 时间:2024/05/01 02:02

NSData


      字节流:当我们要把一些数据信息写入到文件或者发送到网络,在操作之前应先把数据信息转化为字节流。
      NSData就是用来存储字节流的空间

例子:字符串对象和NSData字节流对象的转换

        NSString * str = @"hello world!";
        // String对象转换为NSData对象
        NSData * data = [str dataUsingEncoding:NSUTF8StringEncoding];  //参数表示编码格式,此处采用UTF8String的编码格式
        NSLog(@"%s", data.bytes);  // 一个字节一个字节的以字符串形式打印NSData
        // NSData对象转换为String对象
        NSString * newStr = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
        NSLog(@"%@", newStr);

从其它位置获取内容来创建NSData对象

      可以通过磁盘或URL加载文件。
      如果从磁盘加载一个文件,首先你必须拥有文件的路径,它指定了该文件在磁盘中的位置。
      也可以通过一个给定的URL加载文件,这样允许你通过磁盘或者网络来加载文件。

例子:加载一个文本文件到NSData对象中

      假设文本文件存放在/Example/Test.txt

        NSString * filePath = @"/Example/Test.txt";
        NSData * loadFileData = [NSData dataWithContentsOfFile:filePath];

      同样,可以用类似的方式将NSData对象写入磁盘,
        //要通过writeToFile:atomically:方法,此方法接收一个包含了路径的字符串,同时还有一个布尔型的值指示写入是否原子级(要么成功要么失败)
        [loadFileData wirteToFile:filePath atomically:YES];

0 0
原创粉丝点击