码迷,mamicode.com
首页 > 其他好文 > 详细

NSFileHandle&&NSFileManage

时间:2015-11-05 23:48:58      阅读:246      评论:0      收藏:0      [点我收藏+]

标签:

/***********  读取全部文件内容 ************/

    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&&NSFileManage

标签:

原文地址:http://www.cnblogs.com/liuyingjie/p/4940974.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!