zoukankan      html  css  js  c++  java
  • 文件操作

    来源:http://my.oschina.net/outatu/blog/125589

    1.文件的浅度遍历与深度遍历

    01 //NSFileManager * fm = [[NSFileManager alloc]init];//创建文件管理器
    02 //第一步创建一个文件管理器
    03 NSError * error= nil;
    04 //显示路径下的内容,作用类似于ls -a指令
    05 //返回值是把目录下的内容放到NSArray中
    06 //浅度遍历
    07 NSFileManager * fm = [NSFileManager defaultManager];
    08 NSArray * array = [fm contentsOfDirectoryAtPath:@"/Users/aaaaa/Desktop"
    09                                           error:&error];
    10 //成功返回nil错误返回失败信息
    11 if(error)
    12 {
    13    NSLog(@"Error=%@",error);
    14    return -1;//代表函数返回(结束函数)
    15    //exit(1);//结束当前进程
    16 }
    17 else
    18 {
    19    NSLog(@"array=%@",array);
    20 }
    21          
    22 //深度遍历
    23 //可以显示子目录的内容
    24 NSArray * array1 = [fm subpathsOfDirectoryAtPath:@"/Users/aaaaa/Desktop"
    25                                            error:&error];
    26 if(error)
    27 {
    28     NSLog(@"Error=%@",error);
    29 }
    30 else
    31 {
    32     NSLog(@"array1=%@",array1);
    33 }

    2.创建目录

    01 NSFileManager * fm = [NSFileManager defaultManager];
    02 NSError * error = nil;
    03 //当前路径指的是可执行程序的路径而不是代码的路径
    04 //创建目录  返回值:创建成功返回YES 失败返回NO
    05 BOOL ret = [fm createDirectoryAtPath:@"./hello2/world"  //创建目录的路径
    06          withIntermediateDirectories:YES//路径不存在是否创建目录 YES代表创建(会把不存在的目录也创建) NO代表不创建
    07                           attributes:nil    //文件属性(权限),通常写nil代表默认权限
    08                                error:&error];
    09 if(ret)
    10 {
    11    NSLog(@"success!");
    12 }
    13 else
    14 {
    15     NSLog(@"error = %@",error);
    16 }

    3.创建文件

    1 NSFileManager * fm = [NSFileManager defaultManager];
    2 //创建文件
    3 BOOL ret = [fm createFileAtPath:@"./1.txt" //路径以及文件名
    4                        contents:nil //要创建的文件的内容 nil代表空文件 若文件以及存在会覆盖该文件
    5                      attributes:nil];
    6         [fm fileExistsAtPath:@"./1.txt"]//判断文件时候存在

    4.拷贝文件/目录

    1 NSFileManager * fm = [NSFileManager defaultManager];
    2 NSError * error = nil;
    3 //拷贝文件/目录
    4 //第二个参数必须要写全文件或者目录名字
    5 BOOL ret = [fm copyItemAtPath:@"/Users/aaaaa/Desktop/string.c"//要复制的文件的路径
    6                        toPath:@"./1.txt" //目的文件(文件名不要加空格)若以及存在会返回error
    7                         error:&error];

    5.移动(重命名)文件/目录

    1 //重命名(移动)文件或目录
    2 //重命名:就是修改文件路径
    3 //如果文件/目录存在 移动失败
    4 ret = [fm moveItemAtPath:@"/Users/aaaaa/Desktop/"
    5                   toPath:@"./1/1" //参数要写全称
    6                    error:&error];

    6.删除文件/目录

    1 //删除文件/目录
    2 //谨慎使用(会直接删除 不会丢到废纸篓中)
    3 ret = [fm removeItemAtPath:@"./1.txt"
    4                      error:&error];

    7.NSData与字符串

    1 NSString * str = @"hello world";
    2 //将OC字符串转换成NSData类型
    3 //NSData 文件缓冲区
    4 NSData * data = [str dataUsingEncoding:NSUTF8StringEncoding];
    5          
    6 //将NSData类型转换成NSString类型
    7 NSString * str2 = [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];

    8.文件读写操作

    01 //文件读写操作
    02 //第一步打开文件
    03 //FILE * fp = fopen("./1.txt","w");文件指针
    04 //文件句柄
    05 //以只读方式打开
    06 NSFileHandle * fh = [NSFileHandle fileHandleForReadingAtPath:@"/Users/aaaaa/Desktop/string.c"];
    07          
    08 //以只写方式打开
    09 fh = [NSFileHandle fileHandleForWritingAtPath:@"/Users/aaaaa/Desktop/string.c"];
    10 //以读写方式打开
    11 fh = [NSFileHandle fileHandleForUpdatingAtPath:@"/Users/aaaaa/Desktop/string.c"];
    12  
    13 //OC的打开函数都会把偏移量定位在未见首
    14 //若想在文件尾进行操作,可将文件偏移量定位到文件尾
    15 [fh seekToEndOfFile];//定位到文件尾
    16      
    17 NSData * data1 = [fh readDataOfLength:10];//读取指定个数字节
    18 NSData * data2 = [fh readDataToEndOfFile];//从当前偏移量读到文件尾
    19 [fh seekToFileOffset:10];//把文件偏移量定位到10字节

    9.向文件中写数据

    1 NSFileHandle * fh2 = [NSFileHandle fileHandleForUpdatingAtPath:@"./1.txt"];
    2 NSString * str = @"hello world";
    3 NSData * data = [str dataUsingEncoding:NSUTF8StringEncoding];
    4 //写数据必须要转化为NSData
    5 [fh2 writeData:data];

    10.获取文件长度

    1 //通过文件管理器获取文件属性然后通过字典获取文件长度
    2 NSFileManager * fm = [NSFileManager defaultManager];
    3 NSDictionary * dict = [fm attributesOfItemAtPath:@"/Users/aaaaa/Desktop/string.c"                                              error:&error];
    4 //方法一:
    5 NSLog(@"size = %lld",[dict fileSize]);
    6 //方法二:
    7 NSLog(@"%@",[dict objectForKey:NSFileSize]);
  • 相关阅读:
    Django Admin 管理工具
    老男孩培训机构老师的博客
    pycharm版本选择并安装
    Linux命令-自动挂载文件/etc/fstab功能详解
    django urls路由匹配分发
    django templates模板
    Django models模型
    django views视图函数
    JDK与JRE、JVM三者间的关系及JDK的安装部署
    django 第一个项目测试
  • 原文地址:https://www.cnblogs.com/heyonggang/p/3452551.html
Copyright © 2011-2022 走看看