NSFileManager文件管理者

iOS的沙盒机制,应用只能访问自己应用目录下的文件。iOS不像android,没有SD卡概念,不能直接访问图像、视频等内容。iOS应用产生的内容,如图像、文件、缓存内容等都必须存储在自己的沙盒内。默认情况下,每个沙盒含有3个文件夹:Documents, Library 和 tmp。Library包含Caches、Preferences目录。

             

上面的完整路径为:用户->资源库->Application Support->iPhone Simulator->6.1->Aplications

Documents:苹果建议将程序创建产生的文件以及应用浏览产生的文件数据保存在该目录下,iTunes备份和恢复的时候会包括此目录
Library:存储程序的默认设置或其它状态信息;

Library/Caches:存放缓存文件,保存应用的持久化数据,用于应用升级或者应用关闭后的数据保存,不会被itunes同步,所以为了减少同步的时间,可以考虑将一些比较大的文件而又不需要备份的文件放到这个目录下。

tmp:提供一个即时创建临时文件的地方,但不需要持久化,在应用关闭后,该目录下的数据将删除,也可能系统在程序不运行的时候清除。

APP  Sandbox

iOS怎么获取沙盒路径,怎么操作文件呢?看DEMO:

 1 - (void)viewDidLoad {
 2     [super viewDidLoad];
 3     // Do any additional setup after loading the view.
 4     self.view.backgroundColor = [UIColor whiteColor];
 5
 6     [self initData];
 7
 8
 9 }
10
11
12 #pragma mark  --NSFileManager 文件管理者
13 /**
14  * 1.能够创建文件夹, 创建 删除 赋值 移动
15    2.通过路径
16    3.
17  */
18
19 -(void)initData{
20
21     //文件管理者都是系统的一个单例对象
22     NSFileManager *fileManager = [NSFileManager defaultManager];
23
24     //沙盒documents文件夹路径
25     NSString *documentsPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject];
26
27     //沙盒caches文件夹路径
28     NSString *cachesPath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject];
29
30     //1.创建文件夹
31     NSString *path = [documentsPath stringByAppendingPathComponent:@"DownLoad/image"];
32
33     /*
34              方法的调用者:文件管理者
35      参数1:想要创建文件夹的路径
36      参数2:YES(该路径下创建不存在的文件夹) NO(忽略不存在文件夹,不创建)
37      参数3:对所创建的文件夹的相关设置
38      参数4:错误信息
39      */
40
41     [fileManager createDirectoryAtPath:path withIntermediateDirectories:YES attributes:nil error:nil];
42
43     NSLog(@"%@",path);
44
45
46     //2.判断是否存在某个文件,如果存在,删掉,不存在则创建
47
48     NSString *filePath = [cachesPath stringByAppendingPathComponent:@"xiaopingguo.mp3"];
49
50     //判断该路径下是否存在对应的文件
51     if ([fileManager fileExistsAtPath:filePath]) {
52
53         //存在删除
54         [fileManager removeItemAtPath:filePath error:nil];
55         NSLog(@"文档存在,删除");
56     }
57
58     else
59     {
60         //不存在 创建
61         [fileManager createFileAtPath:filePath contents:nil attributes:nil];
62
63         NSLog(@"文件不存在,创建");
64
65     }
66
67     NSLog(@"%@",filePath);
68
69
70
71     //3.赋值
72
73     [fileManager copyItemAtPath:filePath toPath:[documentsPath stringByAppendingPathComponent:@"xiaopingguo.mp3"] error:nil];
74     NSLog(@"%@",documentsPath);
75
76
77     //4.移动
78     /*
79      参数1:文件的源路径
80      参数2:目的路径,需要拼接上文件名字
81      参数3:错误信息
82      */
83
84     [fileManager moveItemAtPath:filePath toPath:[path stringByAppendingPathComponent:@"dabaojian.mp4"] error:nil];
85
86
87     //5.获取文件的子文件
88     NSArray *fileArray = [fileManager contentsOfDirectoryAtPath:documentsPath error:nil];
89
90     NSLog(@"%@",fileArray);
91
92
93 }
时间: 2024-10-12 20:42:13

NSFileManager文件管理者的相关文章

oc NSFileManager 文件夹创建、文件移动、文件复制、文件重命名

// 初始化管理类 NSFileManager * manager = [NSFileManager defaultManager]; // 路径 NSString * DirectoryPath = [NSHomeDirectory() stringByAppendingPathComponent:@"/desktop/我的文件夹1/我的文件夹2"]; NSError * error = nil; if ([manager createDirectoryAtPath:Director

【Foundation】NSFileManager文件操作

NSFileManager文件操作: -(NSData *) contentsAtPath: path 从一个文件中读取数据 -(bool)createFileAtPath:path contents:(NSData *)data attributes:attr 创建一个文件并写入数据 -(BOOL) removeItemAtPath: path error: err 删除一个文件 -(BOOL) moveItemAtPath: from toPath: to error: err 重命名或移动

【Foundation】NSFileManager文件操作.02

1.文件目录操作 // 1.创建文件操作对象fm,并打印出当前目录 NSFileManager *fm=[NSFileManager defaultManager]; // 获取当前目录 NSLog(@"当前目录:%@",[fm currentDirectoryPath]); ///2014-04-01 13:58:20.523 NSFileManager[1161:303] 当前目录:/Users/haiyefeng/Library/Developer/Xcode/DerivedDa

iOS NSFileManager文件操作

参考:http://blog.csdn.net/xyz_lmn/article/details/8968213 感谢这些先行者 文件操作常用操作记录一下: //获取沙盒的根路径 NSString *dirHome = NSHomeDirectory(); NSLog(@"%@",dirHome); //获取Documents目录路径 NSArray *path = NSSearchPathForDirectoriesInDomains(NSDocumentationDirectory,

NSFileManager文件操作的十个小功能

NSFileManager是一个单列类,也是一个文件管理器.可以通过NSFileManager创建文件夹.创建文件.写文件.读文件内容等等基本功能. 下面将介绍NSFileManager文件操作的十个小功能.我们在Documents里面进行举例,首先是获取Documents的路径.这个在iOS开发之沙盒机制(SandBox)已经详细讲解过了.获取Documents路径方法如下: - (NSString *)getDocumentsPath { //获取Documents路径 NSArray *p

iOS中NSFileManager文件常用操作整合

//获取Document路径 + (NSString *)getDocumentPath { NSArray *filePaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); return [filePaths objectAtIndex:0]; } //获取Library路径 + (NSString *)getLibraryPath { NSArray *filePaths

UI进阶 文件管理器(NSFileManager)文件对接器(NSFileHandle)

一.文件管理器与文件连接器之间的区别 文件管理器(NSFileManager) 此类主要是对文件进行的操作(创建/删除/改名等)以及文件信息的获取. 文件连接器(NSFileHandle) 此类主要是对文件内容进行读取和写入操作. 二.文件管理器(NSFileManager) 1.创建文件夹管理器 1 NSFileManager *fileManager = [NSFileManager defaultManager]; 2.创建文件并写入数据 1 // 创建文件夹管理器 2 NSFileMan

日志文件管理者:Logrotate

rotate:轮转.交替.转动.试转动 在服务运行的时候,难免会生成大量日志,一般来说遇到日志过多的情况,就会写一个看门狗,监控磁盘容量的大小,如果磁盘剩余空间小于某个值,就去日志文件夹里把一个月或者几个月之前的废弃日志删除掉以达到释放磁盘空间的目的. 但是往往有的时候过期的日志很重要,或者即使是一周的时间内,也会生成容量非常可观的日志量,那么就需要使用logrotate命令,这个命令是linux自带的. logrotate这个命令的用法请看:https://linux.cn/article-8

NSFileManager简单操作

NSFileManager是什么? 通熟易懂的解释:NSFileManager是文件管理者,可以 1.能够创建文件夹, 创建 删除 赋值 移动 2.通过路径查找和拼接 代码演示: #pragma mark --NSFileManager 文件管理者 /** * 1.能够创建文件夹, 创建 删除 赋值 移动 2.通过路径 3. */ -(void)initData{ //文件管理者都是系统的一个单例对象 NSFileManager *fileManager = [NSFileManager def