/*********** 读取全部文件内容 ************/
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