• NSFileHandle&&NSFileManage


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

        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

  • 相关阅读:
    ajax上传图片的本质
    牛逼的bootcss之buttons
    PHP实现登录,注册,密码修改
    thinkphp中的session()方法
    微信企业号支付个人php实现
    js判断是否是用微信浏览器打开
    助店宝微信商城登录流程图
    微信网页授权
    微信公众平台模板消息发送接口文档
    微信JS-SDK实现自定义分享功能,分享给朋友,分享到朋友圈
  • 原文地址:https://www.cnblogs.com/liuyingjie/p/4940974.html
Copyright © 2020-2023  润新知