美文网首页
NSFileManager&沙盒

NSFileManager&沙盒

作者: rainbow_H | 来源:发表于2018-06-06 15:10 被阅读0次

1、文件管理器(NSFileManager):管理和操作文件,如创建、移动、删除、复制文件等

2、NSFileHandle 与NSFileManager的区别:

            NSFileHandle  此类主要是对文件内容进行读取和写入操作

            NSFileManger   此类主要是对文件进行的操作以及文件信息的获取

3、使用NSFileHandle的基本步骤 :创建一个NSFileHandle对象;对打开的文件进行I/O操作;关闭文件;

- (NSData *)availableData; 从设备或通道返回可用的数据 

-  (NSData *)readDataToEndOfFile; 从当前的节点读取到文件的末尾 

-  (NSData *)readDataOfLength:(NSUInteger)length; 从当前节点开始读取指定的长度数据 

-  (void)writeData:(NSData *)data; 写入数据 

-  (unsigned long long)offsetInFile;  获取当前文件的偏移量 

-  (void)seekToFileOffset:(unsigned long long)offset; 跳到指定文件的偏移量 

-  (unsigned long long)seekToEndOfFile; 跳到文件末尾 

-  (void)truncateFileAtOffset:(unsigned long long)offset; 将文件的长度设为offset字节

 -  (void)closeFile;  关闭文件

 创建一个NSFileHandle对象

  NSFileManager *fm = [NSFileManager defaultManager];

  创建文件夹

 [fm createDirectoryAtPath:withIntermediateDirectories: attributes: error:];

  // 第一个参数 createDirectoryAtPath: 创建文件夹路径

 // 第二个参数  withIntermediateDirectories: 是否补全路径

  // 第三个参数  attributes: 文件属性

  // 第四个参数  error: 错误信息

 创建文件

[fm createFileAtPath: contents: attributes:];

 // 第一个参数 createFileAtPath: 文件路径

  // 第二个参数 contents : 内容

  // 第三个参数 attributes:  文件属性

删除文件

[fm removeItemAtURL: error:];// 这样删除不会移至垃圾箱

移动文件

[fm moveItemAtPath:  toPath:  error:];

// 第一个参数 moveItemAtPath:移动文件的路径

// 第二个参数 toPath:移动到哪个路径

// 第三个参数  error: 错误信息

复制文件

[fm copyItemAtPath:  toPath:  error:];

// 第一个参数 moveItemAtPath:复制文件的路径

// 第二个参数 toPath:复制到哪个路径

// 第三个参数  error: 错误信息

获取沙盒路径(方法一)

NSString *homePath = NSHomeDirectory(); // 沙盒的主目录

NSString *documents = [homePath stringByAppendingPathComponent:@"Documents"];  // 获取沙盒下的 Documents 目录

NSString *library = [homePath stringByAppendingPathComponent:@"Library"];// 获取沙盒下的 Library 目录

NSString *tmp = [homePath stringByAppendingPathComponent:@"tmp"]; // 获取沙盒下的 tmp 目录

获取沙盒路径(方法二)

NSArray *documents = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);  // 获取沙盒下的 Documents 目录

NSArray *library = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES); // 获取沙盒下的 Library 目录

NSArray *Cache = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);  // 获取沙盒下的 Library 中的 Cache(缓存) 目录

NSString *tmp = NSTemporaryDirectory();  // 获取 tmp 路径

相关文章

  • NSFileManager&沙盒

    1、文件管理器(NSFileManager):管理和操作文件,如创建、移动、删除、复制文件等 2、NSFileHa...

  • IOS沙盒 - OC

    沙盒: 沙盒包含: 沙盒路径获取的方法:

  • Objective-C沙盒结构

    导读: 一、什么是沙盒机制二、沙盒的特点三、沙盒的结构组成四、获取沙盒目录路径 一、什么是沙盒机制 iOS中的沙盒...

  • iOS 数据持久化知识汇总(1)—————存储路径

    一、沙盒和沙盒存储路径 1、沙盒是什么 iOS 每个iOS应用都有自己的应用沙盒,应用沙盒就是文件系统目录 。所...

  • OC - 沙盒

    导读: 一、什么是沙盒机制 二、沙盒的特点 三、沙盒的结构组成 四、获取沙盒目录路径 一、什么是沙盒机制 iOS中...

  • 沙盒

    1、沙盒 程序只能访问自己的沙盒 NSHomeDirectory() 访问沙盒路径 沙盒下有三个目录:Docume...

  • iOS 系统相关复习

    沙盒 iOS沙盒详细介绍iOS沙盒篇 沙盒机制介绍 iOS中的沙盒机制是一种安全体系。为了保证系统安全,iOS每个...

  • iOS开发之沙盒机制

    沙盒 iOS系统,每个应用都有自己的沙盒,每个沙盒都是相互独立的,不能互相访问。 获取沙盒路径的代码: NSHom...

  • 数据持久化存储

    沙盒 iOS程序默认情况下只能访问自己的目录,这个目录被称作沙盒 沙盒结构 沙盒结构主要为 DocumentLib...

  • iOS的永久话储存

    沙盒:IOS应用中每个应用均有自己沙盒,用来储存APP自己的数据,每个应用的沙盒均是应用特有的不能交叉访问。 沙盒...

网友评论

      本文标题:NSFileManager&沙盒

      本文链接:https://www.haomeiwen.com/subject/sfpbsftx.html