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);
    }
    

      

      

  • 相关阅读:
    无锁并行框架构建复杂消费模型
    Disruptor框架EventProcessor和Workpool的使用
    .NET工作准备--04ASP.NET
    .NET工作准备--03进阶知识
    .NET工作准备--02基础知识
    .NET工作准备--01前言
    Java核心编程快速入门
    IntellijIDEA快速入门(Windows版)
    企业模式和设计模式快速入门
    架构设计深入学习02-概念架构与细化架构
  • 原文地址:https://www.cnblogs.com/zwhFighting/p/4553638.html
Copyright © 2011-2022 走看看