NSFileHandle&&NSFileManage
2015-11-05 21:55
423 查看
/*********** 读取全部文件内容 ************/
NSFileHandle *handle1 = [NSFileHandle fileHandleForReadingAtPath:filePath];//返回读文件的fileHandle
NSData *data1 = [handle1 readDataToEndOfFile];//读取到文件末尾,得到文件中的数据
NSString *readString=[[NSString alloc]initWithData:data1 encoding:NSUTF8StringEncoding];//将数据转化成字符串
NSLog(@"%@",readString);
/************* 读取文件的一半到结尾 ************/
NSFileHandle *handle=[NSFileHandle fileHandleForReadingAtPath:filePath];
NSInteger length=[handle availableData].length;//返回文件中有效数据的长度
[handle seekToFileOffset:length/2];//跳转到文件内容一半的地方
NSData *data=[handle readDataToEndOfFile];//读取到文件末尾
NSString *string=[[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"%@",string);
}
-(void)writeingFile:(NSString *)filePath
{
//将数据写入到文件的末尾(追加)
NSFileHandle *handle2=[NSFileHandle fileHandleForUpdatingAtPath:filePath];//准备更新
[handle2 seekToEndOfFile];//跳到文件末尾
NSString *addString=@"尚承教育";
NSData *writeData=[addString dataUsingEncoding:NSUTF8StringEncoding];//将字符串转换成data数据
[handle2 writeData:writeData];//写入数据
[handle2 closeFile];//关闭文件
}
-(void)copyingFile:(NSString *)filePath
{
//找到原来的文件路径
NSString *old_filePath = filePath;
//指定新的文件路径(文件不存在)
NSString *new_filePath = @"/Users/scjy/hello/ios.txt";
//创建文件管理器,为创建新的文件做准备
NSFileManager *fileManager=[NSFileManager defaultManager];
//创建新的文件(此时文件中无数据)
BOOL isSuccess=[fileManager createFileAtPath:new_filePath contents:nil attributes:nil];
if (isSuccess) {
NSLog(@"创建成功");
//1.读取原文件中的数据:fileHandleForReadingAtPath
NSFileHandle *old_handle=[NSFileHandle fileHandleForReadingAtPath:old_filePath];
NSData *old_data=[old_handle readDataToEndOfFile];
//2.将原文件中获取的数据写入新的文件:fileHandleForWritingAtPath
NSFileHandle *new_handle=[NSFileHandle fileHandleForWritingAtPath:new_filePath];
[new_handle writeData:old_data];
[old_handle closeFile];
[new_handle closeFile];
}
else
{
NSLog(@"创建失败");
}
}
-(void)creatPlistFile
{
NSFileManager *fileManager=[NSFileManager defaultManager];
NSString *path=@"/Users/scjy/hello/student.plist";
//fileExistsAtPath:判断文件是不是存在
if (![fileManager fileExistsAtPath:path]) {
NSLog(@"文件不存在,开始创建文件");
[fileManager createFileAtPath:path contents:nil attributes:nil];//创建文件
//NSDictionary *dic=[NSDictionary dictionaryWithObject:@"李和平" forKey:@"name"];
NSArray *array=[NSArray arrayWithObjects:@"a",@"b", nil];
[array writeToFile:path atomically:YES];//写入文件
}
else
{
NSLog(@"文件已经存在");
}
NSArray *array1=[NSArray arrayWithContentsOfFile:path];
NSLog(@"%@",array1);
}
////////////////////////////////////////////////////课堂笔记////////////////////////////////////////////////////
#if 0
//移动文件
NSFileManager *manager=[NSFileManager defaultManager];
NSString *path1=@"/Users/LiHeping/Desktop/move.txt";
NSString *path2=@"/Users/LiHeping/Desktop/test1/move.txt";
NSError *error=nil;
//可以修改文件的名字(path2不能存在,表示移动过来的文件)
BOOL isOK=[manager moveItemAtPath:path1 toPath:path2 error:&error];
if (isOK) {
NSLog(@"操作成功");
}else
NSLog(@"操作失败:%@",[error localizedDescription]);
**/
//更名
NSFileManager *manager=[NSFileManager defaultManager];
NSString *path1=@"/Users/LiHeping/Desktop/1";
NSString *path2=@"/Users/LiHeping/Desktop/2";
NSError *error=nil;
BOOL isOK=[manager moveItemAtPath:path1 toPath:path2 error:&error];
if (isOK) {
NSLog(@"操作成功");
}else
NSLog(@"操作失败:%@",[error localizedDescription]);
//复制:
NSFileManager *manager=[NSFileManager defaultManager];
NSString *path1=@"/Users/LiHeping/Desktop/move/test.txt";
NSString *path2=@"/Users/LiHeping/Desktop/2/test1.txt";
NSError *error=nil;
BOOL isOK=[manager copyItemAtPath:path1 toPath:path2 error:&error];
if (isOK) {
NSLog(@"操作成功");
}else
NSLog(@"操作失败:%@",[error localizedDescription]);
}
#endif
NSFileHandle *handle1 = [NSFileHandle fileHandleForReadingAtPath:filePath];//返回读文件的fileHandle
NSData *data1 = [handle1 readDataToEndOfFile];//读取到文件末尾,得到文件中的数据
NSString *readString=[[NSString alloc]initWithData:data1 encoding:NSUTF8StringEncoding];//将数据转化成字符串
NSLog(@"%@",readString);
/************* 读取文件的一半到结尾 ************/
NSFileHandle *handle=[NSFileHandle fileHandleForReadingAtPath:filePath];
NSInteger length=[handle availableData].length;//返回文件中有效数据的长度
[handle seekToFileOffset:length/2];//跳转到文件内容一半的地方
NSData *data=[handle readDataToEndOfFile];//读取到文件末尾
NSString *string=[[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"%@",string);
}
-(void)writeingFile:(NSString *)filePath
{
//将数据写入到文件的末尾(追加)
NSFileHandle *handle2=[NSFileHandle fileHandleForUpdatingAtPath:filePath];//准备更新
[handle2 seekToEndOfFile];//跳到文件末尾
NSString *addString=@"尚承教育";
NSData *writeData=[addString dataUsingEncoding:NSUTF8StringEncoding];//将字符串转换成data数据
[handle2 writeData:writeData];//写入数据
[handle2 closeFile];//关闭文件
}
-(void)copyingFile:(NSString *)filePath
{
//找到原来的文件路径
NSString *old_filePath = filePath;
//指定新的文件路径(文件不存在)
NSString *new_filePath = @"/Users/scjy/hello/ios.txt";
//创建文件管理器,为创建新的文件做准备
NSFileManager *fileManager=[NSFileManager defaultManager];
//创建新的文件(此时文件中无数据)
BOOL isSuccess=[fileManager createFileAtPath:new_filePath contents:nil attributes:nil];
if (isSuccess) {
NSLog(@"创建成功");
//1.读取原文件中的数据:fileHandleForReadingAtPath
NSFileHandle *old_handle=[NSFileHandle fileHandleForReadingAtPath:old_filePath];
NSData *old_data=[old_handle readDataToEndOfFile];
//2.将原文件中获取的数据写入新的文件:fileHandleForWritingAtPath
NSFileHandle *new_handle=[NSFileHandle fileHandleForWritingAtPath:new_filePath];
[new_handle writeData:old_data];
[old_handle closeFile];
[new_handle closeFile];
}
else
{
NSLog(@"创建失败");
}
}
-(void)creatPlistFile
{
NSFileManager *fileManager=[NSFileManager defaultManager];
NSString *path=@"/Users/scjy/hello/student.plist";
//fileExistsAtPath:判断文件是不是存在
if (![fileManager fileExistsAtPath:path]) {
NSLog(@"文件不存在,开始创建文件");
[fileManager createFileAtPath:path contents:nil attributes:nil];//创建文件
//NSDictionary *dic=[NSDictionary dictionaryWithObject:@"李和平" forKey:@"name"];
NSArray *array=[NSArray arrayWithObjects:@"a",@"b", nil];
[array writeToFile:path atomically:YES];//写入文件
}
else
{
NSLog(@"文件已经存在");
}
NSArray *array1=[NSArray arrayWithContentsOfFile:path];
NSLog(@"%@",array1);
}
////////////////////////////////////////////////////课堂笔记////////////////////////////////////////////////////
#if 0
//移动文件
NSFileManager *manager=[NSFileManager defaultManager];
NSString *path1=@"/Users/LiHeping/Desktop/move.txt";
NSString *path2=@"/Users/LiHeping/Desktop/test1/move.txt";
NSError *error=nil;
//可以修改文件的名字(path2不能存在,表示移动过来的文件)
BOOL isOK=[manager moveItemAtPath:path1 toPath:path2 error:&error];
if (isOK) {
NSLog(@"操作成功");
}else
NSLog(@"操作失败:%@",[error localizedDescription]);
**/
//更名
NSFileManager *manager=[NSFileManager defaultManager];
NSString *path1=@"/Users/LiHeping/Desktop/1";
NSString *path2=@"/Users/LiHeping/Desktop/2";
NSError *error=nil;
BOOL isOK=[manager moveItemAtPath:path1 toPath:path2 error:&error];
if (isOK) {
NSLog(@"操作成功");
}else
NSLog(@"操作失败:%@",[error localizedDescription]);
//复制:
NSFileManager *manager=[NSFileManager defaultManager];
NSString *path1=@"/Users/LiHeping/Desktop/move/test.txt";
NSString *path2=@"/Users/LiHeping/Desktop/2/test1.txt";
NSError *error=nil;
BOOL isOK=[manager copyItemAtPath:path1 toPath:path2 error:&error];
if (isOK) {
NSLog(@"操作成功");
}else
NSLog(@"操作失败:%@",[error localizedDescription]);
}
#endif
相关文章推荐
- 51nod 1435 位数阶乘 找规律
- [leetcode 111]Minimum Depth of Binary Tree
- CEF3开发者系列之JS与C++交互之一
- java基础常识
- Android开发手记(22) 传感器的使用
- 多态性之编译期多态和运行期多态(JAVA版)
- leetcode155 Min Stack
- Ceph osd异常退出故障处理
- Linux命令——diff
- 字幕制作之时间轴制作(1) - 字幕的无中生有
- BZOJ1085 [SCOI2005]骑士精神(IDA*)
- 最长上升公共子序列(LCIS)
- iOS 开发之支付
- Java多态性理解
- elasticsearch索引(多字段类型字段—字段可检索可聚合)
- 反射机制来获取资源文件/
- iOS断点续传
- swift学习Day03
- 图像的开操作和闭操作
- dede使用方法----调用列表的标签使用及说明