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

    1.文件操作分两个部分

     1.1.对文件本身的操作,需要使用一个类,NSFileManager。可以对文件进行拷贝到指定路径,删除等等对文件本身的操作,而不是对文件内容的操作

       1.2.对文件内容的操作需要使用一个类,NSHandle。可以对文件的内容进行操作,修改文件的内容

    2.文件的操作

     2.1.首先在import下面定义一个文件的路径:#define PATH @"/Users/xxxxxx/Downloads";

     2.2.创建一个单例的FileManager(文件管理器)对象

    NSFileManager *fm = [NSFileManager defaultManager];
    

       2.3.查看一个文件夹下面有哪些文件(浅度遍历)

    NSError *error = nil;
    NSArray *array = [fm contentsOfDirectoryAtPath:PATH error:&error];
    if(error){
         NSLog(@"%@",error);
         exit(-1);
    }else{
         NSLog(@"%@",array);
    }
    

     2.4.深度遍历(遍历当前目录,以及当前目录下子目录)

    array = [fm subpathsOfDirectoryAtPath:PATH error:&error];
    if(error){
        NSLog(@"%@",error);
        exit(-1);
    }else{
        NSLog(@"%@",array);
    }
    

      2.5.创建目录(withIntermediateDirectories如果设置为no则没有中间目录就会报错,因为没有二级目录无法创建三级目录,设置为YES的时候,如果没有二级目录时会自动创建二级目录,从而创建三级目录)

    [fm createDirectoryAtPath:[NSString stringWithFormat:@"%@/dir",PATH] withIntermediateDirectories:YES attributes:nil error:&error];
    if(error){
        NSLog(@"%@",error);
        exit(-1);
    }
    

      2.6.创建一个文件

    [fm createFileAtPath:[NSString stringWithFormat:@"%@/dir/testFile",PATH] contents:[@"hello world" dataUsingEncoding:NSUTF8StringEncoding] attributes:nil];
    

      2.7.删除一个目录或者文件

    fm removeItemAtPath:[NSString stringWithFormat:@"%@/dir/testFile",PATH] error:&error];
    [fm removeItemAtPath:[NSString stringWithFormat:@"%@/dir",PATH] error:&error];
     if(error){
        NSLog(@"%@",error);
        exit(-1);
    }
    

      2.8.拷贝文件或者目录

    [fm copyItemAtPath:[NSString stringWithFormat:@"%@/dir",PATH] toPath:[NSString stringWithFormat:@"%@/mydir",PATH] error:&error];
    if(error){
       NSLog(@"%@",error);
       exit(-1);
    }
    

      2.9.剪切文件或者文件夹

    [fm moveItemAtPath:[NSString stringWithFormat:@"%@/dir",PATH] toPath:[NSString stringWithFormat:@"%@/mydir/dir",PATH] error:&error];
    if(error){
       NSLog(@"%@",error);
      exit(-1);
    }
    

      

      

  • 相关阅读:
    win10+anaconda+cuda配置dlib,使用GPU对dlib的深度学习算法进行加速(以人脸检测为例)
    Windows下的Anaconda+OpenCV的环境配置
    视频检测人脸添加帽子完美方案
    OpenCV学习C++接口 Mat像素遍历详解
    [hadoop读书笔记] 第一章 初识 Hadoop
    [hadoop读书笔记]前言
    [hadoop读书笔记]译者序
    [Docker] Docker简介
    [sqoop1.99.6] 基于1.99.6版本的一个小例子
    [sqoop1.99.7] sqoop实例——数据ETL
  • 原文地址:https://www.cnblogs.com/zwhFighting/p/4553638.html
Copyright © 2011-2022 走看看