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

#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;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值