zoukankan      html  css  js  c++  java
  • NSFileManager

     

        

        NSArray *pathArray = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

        NSString *documentPath = [pathArray firstObject];

        

        NSString *filePath = [documentPath stringByAppendingPathComponent:@"test.txt"];

        

        

        // 文件属性 -------------------------

        NSFileManager *fileManager = [NSFileManager defaultManager];

        BOOL flag = [fileManager isWritableFileAtPath:filePath];

        flag = [fileManager isReadableFileAtPath:filePath];

        flag = [fileManager isDeletableFileAtPath:filePath];

        flag = [fileManager isExecutableFileAtPath:filePath];

        NSArray *componentsArray = [fileManager componentsToDisplayForPath:filePath];

        NSLog(@"array = %@", componentsArray);

        NSData *data = [fileManager contentsAtPath:filePath];

        NSString *str = [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];

        NSLog(@"str = %@", str);

        NSLog(@"flag = %i", flag);

        

        //创建目录、创建文件、拷贝文件、删除文件 -------------------------

        NSString *dir = [documentPath stringByAppendingPathComponent:@"a/b"];

        BOOL exists = [fileManager fileExistsAtPath:dir];

        if(!exists)

        {

            [fileManager createDirectoryAtPath:dir withIntermediateDirectories:YES attributes:nil error:nil];

        }

        

        // 创建文件

        NSString *ffilePath = [dir stringByAppendingPathComponent:@"test.txt"];

        if(![fileManager fileExistsAtPath:ffilePath isDirectory:NO])

        {

            [fileManager createFileAtPath:ffilePath contents:data attributes:nil];

        }

        NSLog(@"ffilepath = %@", ffilePath);

        // 拷贝文件

        NSString *dictFilePath = [[ffilePath stringByDeletingLastPathComponent] stringByAppendingPathComponent:@"test_copy.txt"];

        [fileManager copyItemAtPath:ffilePath toPath:dictFilePath error:nil];

        // 删除文件

        [fileManager removeItemAtPath:ffilePath error:nil];

        

        // 获取指定目录下的文件和文件夹

        // 1.contentsOfDirectoryAtPath 只遍历当前目录下的,子目录下的文件不遍历

        NSArray *dirArray = [fileManager contentsOfDirectoryAtPath:documentPath error:nil];

        NSLog(@"dirArray = %@", dirArray);

        

        // 2 enumeratorAtPath 获取目录下的所有文件,包括所有子目录

        NSDirectoryEnumerator *dirEnum = [fileManager enumeratorAtPath:documentPath];

        NSMutableArray *dirArray2 = [[NSMutableArray alloc]initWithCapacity:1];

        while ([dirEnum nextObject])

        {

            [dirArray2 addObject:[dirEnum nextObject]];

        }

        NSLog(@"dirArray2 = %@", dirArray2);

  • 相关阅读:
    atoi (String to Integer) leetcode
    按层逆遍历一棵树,使用满二叉树存储
    unix网络编程-配置unp.h头文件
    ListView系列(七)——Adapter内的onItemClick监听器四个arg参数
    Windows系统下安装VirtualBox,系统找不到指定路径的做法
    Android Fragment完全解析,关于碎片你所需知道的一切
    【Android开源框架列表】
    fragment报错
    2013 年开源中国 10 大热门 Java 开源项目
    【移动开发】Android中三种超实用的滑屏方式汇总(ViewPager、ViewFlipper、ViewFlow)
  • 原文地址:https://www.cnblogs.com/xiangjune/p/4980923.html
Copyright © 2011-2022 走看看