(有码)OC中的文件操作

文件操作
声明带参宏:宏定义的名称(参数)
#define Path(s) [NSString stringWithFormat:@"路径/%@",s];


NSFileManager 文件管理类(常用)
NSFileHandle  文件操作句柄


//创建获取文件管理类的单例(在类中只会存在一次,不能重复声明)
NSFileManager *fileManager = [NSFileManager defaultManager];

NSError *error = nil;
创建文件夹:方法中的参数(1.设置完整路径2.生成中间路径3.需要什么文件夹属性4.出错信息)
(无中间路径)
BOOL ret  = [fileManager creatDicectoryAtPath:Path(@"test") withIntermediateDirectories:NO attributes:nil error:&error];

(有中间路径)
ret = [fileManager creatDicectoryAtPath:Path(@"test/test1") withIntermediateDirectories:YES attributes:nil error:&error];

创建文件:要写文件类型
NSString *string = @"www.baidu.com百度";
NSData *data = [string dataUsingEncoding:NSUTF8Encoding];
[fileManager creatFileAtPath:Path(@"test.txt") contents:data attributes:nil];


文件路径遍历:
浅度遍历
NSArray *contents = [fileManager contentsOfDictoryAtPath:@"路径" error:nil];
NSLog(@"%@",contents);

深度遍历
contents = [fileManager subpathsOfDictoryAtPath:@"路径" error:nil];
NSLog(@"%@",contents);

移动操作
[fileManager moveItemAtPath:@"路径/文件名.类型" toPath:@"新路径/文件名.类型" error:nil];

赋值文件
[fileManager copyItemAtPath:@"路径/文件名.类型" toPath:@"新路径/文件名.类型" error:nil];

删除文件
[fileManager removeItemAtPath:@"路径/文件名.类型" error:nil];

查看文件属性
NSDictionary *dic = [fileManager attributesOfItemAtPath:@"路径/文件名.类型" error:nil];
NSLog(@"%@",dic);

查看文件是否存在
BOOL dic = [fileManager fileExistsAtPath:@"路径"];

获得文件路径
NSFileHandle *fileHandle = [NSFileHandle fileHandleForReadingAtPath:@"路径/文件名.类型"];

从头到尾读取文件数据
NSLog(@"%@",[fileHandle readDataToEndOfFile]);

关闭文件
[fileHandle closeFile];

以写入文件打开
fileHandle = [NSFileHandle fileHandleForWritingAtPath:@"路径/文件名.类型"];

以更新方式打开(可读可写)
fileHandle = [NSFileHandle fileHandleForUpdatingAtPath:@"路径/文件名.类型"];

读取文件数据
//将数据转为NSData,从光标位置读取到文件末尾
NSData *fileData = [fileHandle readDataToEndOfFile];
NSString *string = [[NSString alloc]initWithData:fileData encoding:UTF8StringEncoding];

移动光标位置
//移动到末尾
[fileHandle seekToEndOfFile];
//移动到第4个
[fileHandle seekToFileOffSet:4];

写入数据
//文件读写都是依据光标的位置
[fileHandle writeData:fileData];

立即同步文件数据
[fileHandle sychronizeFile];

清空文件夹
NSFileManager *fileManager = [NSFileManager defaultManager];



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值