//NSFileManager

- (void)viewDidLoad {

[super viewDidLoad];

NSLog(@"%@",NSHomeDirectory());

NSString *docPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject];

NSString *filePath = [docPath stringByAppendingPathComponent:@"firstFM"];

NSFileManager *fm = [NSFileManager defaultManager];

//一.创建

//1.创建文件夹

if (![fm fileExistsAtPath:filePath]) {

NSError *error = nil;

BOOL isSuc = [fm createDirectoryAtPath:filePath withIntermediateDirectories:YES attributes:nil error:&error];

if (!isSuc) {

NSLog(@"fail:%@",error.localizedDescription);

}

}else{

NSLog(@"file existed");

}

//2.创建文件

NSString *txtPath = [filePath stringByAppendingPathComponent:@"firstTxt.txt"];

NSString *test    = @"hello world";

NSData  *writeData= [test dataUsingEncoding:NSUTF8StringEncoding];

if (![fm fileExistsAtPath:txtPath]) {

BOOL isSuc = [fm createFileAtPath:txtPath contents:writeData attributes:nil];

if (!isSuc) {

NSLog(@"fail");

}

}else{

NSLog(@"txt existed");

}

//1.

//    [self scanDirectoryOrFile:filePath];

//2.

NSString *sourcePath = txtPath;

NSString *newPath = [docPath stringByAppendingPathComponent:@"firstTxt.txt"];

//    [self moveDiectoryOrFile:sourcePath toNewPath:newPath];

//    [self deleteDirectoryOrFile:[docPath stringByAppendingPathComponent:@"rrr"]];

[self attributeForDirectoryOrFile:newPath];

}

//二.操作

//1.遍历文件夹(目录)

- (void)scanDirectoryOrFile:(NSString *)path{

NSFileManager *fm = [NSFileManager defaultManager];

//浅层遍历(只包含当前路径的子目录)

if ([fm fileExistsAtPath:path]) {

//数组包含的是文件夹的名字

NSArray *arr1 = [fm contentsOfDirectoryAtPath:path error:nil];

NSLog(@"%ld--%@",arr1.count,arr1.firstObject);

}

//深层遍历(包含路径下所有子文件)

//    if ([fm fileExistsAtPath:path]) {

//        NSArray *arrAll = [fm subpathsOfDirectoryAtPath:path error:nil];

//    }

}

//2.拷贝

- (void)copyDirectoryOrFile:(NSString *)sourcePath toNewPath:(NSString *)newPath{

NSFileManager *fm = [NSFileManager defaultManager];

NSError *error = nil;

BOOL isSuc = [fm copyItemAtPath:sourcePath toPath:newPath error:&error];

if (isSuc) {

NSLog(@"success");

}else{

NSLog(@"%@",error.localizedDescription);

}

}

//3.移动(剪切)

- (void)moveDiectoryOrFile:(NSString *)sourcePath toNewPath:(NSString *)newPath{

NSFileManager *fm = [NSFileManager defaultManager];

NSError *error = nil;

BOOL isSuc = [fm moveItemAtPath:sourcePath toPath:newPath error:&error];

if (isSuc) {

NSLog(@"success");

}else{

NSLog(@"%@",error.localizedDescription);

}

}

//4.删除

- (void)deleteDirectoryOrFile:(NSString *)path{

NSFileManager *fm = [NSFileManager defaultManager];

NSError *error = nil;

BOOL isSuc = [fm removeItemAtPath:path error:nil];

if (isSuc) {

NSLog(@"success");

}else{

NSLog(@"%@",error.localizedDescription);

}

}

//三.获取文件属性

- (void)attributeForDirectoryOrFile:(NSString *)path{

NSFileManager *fm = [NSFileManager defaultManager];

NSError *error = nil;

NSDictionary *dic = [fm attributesOfItemAtPath:path error:&error];

NSLog(@"%@",dic);

}

文件管理NSFileManager的更多相关文章

  1. iOS-沙盒路径总结、文件管理NSFileManager总结

    // //  ViewController.m //  沙盒操作 // //  Created by mncong on 15/11/26. //  Copyright © 2015年 mancong ...

  2. IOS--文件管理NSFileManager

    iOS的沙盒机制.应用仅仅能訪问自己应用文件夹下的文件.iOS不像android.没有SD 卡概念.不能直接訪问图像.视频等内容. iOS应用产生的内容,如图像.文件.缓存内容等都必须存储在自己的沙盒 ...

  3. 数据持久化-存取方式总结&应用沙盒&文件管理NSFileManager

    iOS应用数据存储的常用方式:  1.XML属性列表   (plist归档)  2.NSUserDefaults (偏好设置)  3.NSKeyedArchiver  归档(加密形式)  4.SQLi ...

  4. iOS路径沙盒文件管理(转载)

    iOS路径沙盒文件管理,看到博主总结的很好,转载过来,原文:http://www.aichengxu.com/view/35264 一.iOS中的沙盒机制 iOS应用程序只能对自己创建的文件系统读取文 ...

  5. iOS开发-文件管理(一)

    iOS开发-文件管理(一) 一.iOS中的沙盒机制 iOS应用程序只能对自己创建的文件系统读取文件,这个独立.封闭.安全的空间,叫做沙盒.它一般存放着程序包文件(可执行文件).图片.音频.视频.pli ...

  6. [OC Foundation框架 - 23] 文件管理

    A. 目录管理 NSFileManager*manager = [NSFileManagerdefaultManager];//单例模式 // 1.获取文件属性 NSString *path = @& ...

  7. IOS 开发之文件管理

    一.iOS中的沙盒机制 iOS应用程序只能对自己创建的文件系统读取文件,这个独立.封闭.安全的空间,叫做沙盒.它一般存放着程序包文件(可执行文件).图片.音频.视频.plist文件.sqlite数据库 ...

  8. iOS开发-文件管理

    iOS学习笔记(十七)--文件操作(NSFileManager) 浅析 RunLoop 解决EXC_BAD_ACCESS错误的一种方法--NSZombieEnabled iOS开发--Swift篇&a ...

  9. NSString,NSData,NSFileManager常用方法

    一.利用NSString类进行文件路径的处理 文件路径格式: NSString *path=@"/Uesrs/apple/testfile.txt" 常用方法汇总: 1.获得组成此 ...

随机推荐

  1. 【282】◀▶ arcpy.mapping 常用函数说明

    arcpy.mapping 教程入门 arcpy.mapping 指导原则 按字母顺序排序的 arcpy.mpping 类列表 按字母顺序排序的 arcpy.mpping 函数列表 按字母顺序排序的 ...

  2. dyld_decache&MesaSQLite

    [dyld_decache] Starting from iPhone OS 3.1, the individual libraries files supplied by the system ar ...

  3. 刷题向》DP》值得一做》关于对DP问题的充分考虑(normal)

    在你辛苦调试一道DP题,遇到瓶颈的时候,你是否感到一股洪荒之力遏制住你的思想,使你给题库贡献了一倍的WA.RE.TLE量,却没有AC过一次? 在这时,你应该考虑的是砸电脑再次重新考虑整个题目,再应对自 ...

  4. 八数码问题——A*大法好

    [描述] 在3×3的棋盘上,摆有八个棋子,每个棋子上标有1至8的某一数字.棋盘中留有一个空格,空格用0来表示. 空格周围的棋子可以移到空格中. 要求解的问题是:给出一种初始布局(初始状态)和目标布局( ...

  5. php 5.3 以上fpm安装

    安装PHP #wget http://cn2.php.net/get/php-5.3.8.tar.gz/from/cn.php.net/mirror #tar -zxvf php-5.3.8.tar. ...

  6. Linux 各文件系统配置

    区分目录跟文件 可执行文件:可以拿出来直接运行的命令. 符号链接 重要的目录 bin 里面是命令. etc 重要的配置文件.各种软件的配置文件.以后要配置网络环境,linux运行环境都是在这里进行配置 ...

  7. mysql视图总结

    http://www.2cto.com/database/201508/427083.html 一. 视图概述 视图是一个虚拟表,其内容由查询定义.同真实的表一样,视图包含一系列带有名称的列和行数据. ...

  8. Jquery中extend使用技巧

    在使用Jquery开发的过程中,extend是常用的参数处理函数,特别是对默认值的使用. Jquery的扩展方法原型是: var v=$.extend(dest,src1,src2,[,src3... ...

  9. 银行家算法之JavaScript实现

    上学期有个课程叫做操作系统,期末的时候这课程还有个课程设计,其中有个题目叫做银行家算法. 什么是银行家算法我就不解释了! 看着同学们的设计,大同小异甚至前篇一律. 清一色的控制台程序,清一色的蛋疼输入 ...

  10. AntD01 Angular2整合AntD、Angular2整合Material、利用Angular2,AntD,Material联合打造后台管理系统 ???

    待更新... 2018-5-21 13:53:52 1 环境说明 2 搭建Angular项目 详情参见 -> 点击前往 辅助技能 -> 点击前往 3 创建共享模块 ng g m share ...