您的位置:首页 > 其它

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: