zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    linux下安装配置DHCP服务器
    CentOS7安装配置Apache HTTP Server
    CentOS7安装配置DNS服务器
    CentOS7安装配置SAMBA服务器
    小程序全局监听
    springboot+redis
    java对接微信小程序
    获取上一个页面的data
    定时器
    maven项目打包
  • 原文地址:https://www.cnblogs.com/liuyingjie/p/4940974.html
Copyright © 2011-2022 走看看