码迷,mamicode.com
首页 > 其他好文 > 详细

Snail—OC学习之文件操作(读写)

时间:2015-07-28 16:03:52      阅读:111      评论:0      收藏:0      [点我收藏+]

标签:

#import <Foundation/Foundation.h>

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

    @autoreleasepool {
        
        /*
         NSFileHandle 文件句柄
         fileHandleForUpdatingAtPath    读写方式打开文件
         fileHandleForReadingAtPath     只读方式
         fileHandleForWritingAtPath     只写方式
         */
        NSString * filePath = @"/Users/Snail/Desktop/Snail/test.txt";
        NSFileHandle * handle = [NSFileHandle fileHandleForUpdatingAtPath:filePath];
        
        
        //---------------------------读文件-----------------------------
        //读指定多少个字节的数据  字符为一个字节 一个汉字为3个字节
        //把读出的数据放入文件缓存区NSData中
        NSData * data1 = [handle readDataOfLength:10];
        //然后将NSData转换为NSString
        NSString * string1 = [[NSString alloc] initWithData:data1 encoding:NSUTF8StringEncoding];
        /*
         如果此时此刻 再去拿handle去读文件 ,则是在11个字节处开始读
         */
        //所以让handle定位到指定位置的方法 定位到结尾
        [handle seekToEndOfFile];
        //定位到指定位置 0代表开头
        [handle seekToFileOffset:0];
        
        //读取所有数据
        NSData * data2 = [handle readDataToEndOfFile];
        
        
        //---------------------------写文件-----------------------------
        NSString * string2 = @"My name is Snail";
        //将字符串转换成二进制形式
        NSData * data = [string2 dataUsingEncoding:NSUTF8StringEncoding];
        /*
         如果定位到文件的开始 写数据时 会把之前的数据覆盖掉 一般都是在文件的结尾写
        [handle seekToFileOffset:0];
        [handle writeData:data];
         */
        [handle seekToEndOfFile];
        [handle writeData:data];
        //可以将二进制数据立即写到文件中 提高运行速度
        [handle synchronizeFile];
        
        
    }
    return 0;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

Snail—OC学习之文件操作(读写)

标签:

原文地址:http://blog.csdn.net/qq1791422018/article/details/47106071

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!