/*

*  @brief 沙盒下的各种文件

*/

- (void)getPaths

{

/**

*  @brief 获取沙盒的路径

*/

NSString * HomeDirectory = NSHomeDirectory();

NSLog(@"%@",HomeDirectory);

/*返回值是数组的原因:该方法一开始是用于mac-os开发,对PC端来说,可以有多个用户,所以获取时,会获取到所有用户的文件夹路径,但是该方法用于ios开发时,因为移动端只用一个用户,所以获取到的路径也只有一个。*/

/**

*  @brief 获取Documents目录路径  苹果建议将程序创建产生的文件以及应用浏览产生的文件数据保存在该目录下 iTunes备份和恢复的时候会包括此目录

*/

NSArray * paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

NSString * documentDirectory = [paths firstObject];

NSLog(@"%@",documentDirectory);

/**

*  @brief 获取Library目录路径   保存程序的默认设置或其他状态信息.  Library下的Preferences:存储偏好设置。比如:应用是否是第一次启动,保存用户名和密码等。

*/

NSArray * paths_1 = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);

NSString * libraryDirectory = [paths_1 firstObject];

NSLog(@"%@",libraryDirectory);

/**

*  @brief 获取Cache目录路径(Library下的文件)  存放缓存文件,保存应用的持久化数据,用于应用的升级或者应用关闭后的数据保存,不会被itunes同步。

*/

NSArray * path_2 = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);

NSString * cachePath = [path_2 firstObject];

NSLog(@"%@",cachePath);

/**

*  @brief 获取tmp目录路径  提供一个临时创建的文件,不需要持久化,在应用关闭后,该目录下的数据将删除,页可能系统在程序不运行的时候清楚。

*/

NSString * tmpDirectory = NSTemporaryDirectory();

NSLog(@"%@",tmpDirectory);

}

/*

*  @brief 文件的操作

*/

- (void)fileManager

{

/**

*  @brief 创建

*/

[self createFile];

/**

*  @brief 写入

*/

[self WriteToFile];

/**

*  @brief 读取

*/

[self readFile];

/**

*  @brief 删除

*/

[self deleteFile];

}

- (void)createFile

{

NSArray * paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

NSString * documentsDirectory = [paths firstObject];

NSFileManager * fileManager = [NSFileManager defaultManager];

NSString * testDirectory = [documentsDirectory stringByAppendingPathComponent:@"MyTest"];

/**

*  @brief 创建文件夹

*/

BOOL res = [fileManager createDirectoryAtPath:testDirectory withIntermediateDirectories:YES attributes:nil error:nil];

if (res) {

/**

*  @brief 创建文件

*/

NSString * testPath = [testDirectory stringByAppendingPathComponent:@"test.text"];

NSLog(@"%@",testPath);

NSString * content = @"我的测试数据";

/**

*

*  @brief 写入数据

*/

BOOL res = [content writeToFile:testPath atomically:YES encoding:NSUTF8StringEncoding error:nil];

if (res) {

NSLog(@"写入数据成功");

}

}

}

- (void)WriteToFile

{

NSFileManager * defaultManager = [NSFileManager defaultManager];

NSArray * paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

NSString * documentsDirectory = [paths firstObject];

NSString * testDirectory = [documentsDirectory stringByAppendingPathComponent:@"MyTest"];

NSString * testPath = [testDirectory stringByAppendingPathComponent:@"test.text"];

NSString * content = @"我的第二次测试";

/**

*  @brief 文件的可写性(isWritableFileAtPath)

*/

if ([defaultManager isWritableFileAtPath:testPath]) {

/**

*  @brief 写入数据

*/

if ([content writeToFile:testPath atomically:NO encoding:NSUTF8StringEncoding error:nil]) {

NSLog(@"写入成功");

}

}

}

- (void)readFile

{

NSFileManager * defaultManager = [NSFileManager defaultManager];

NSArray * paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

NSString * documentsDirectory = [paths firstObject];

NSString * testDirectory = [documentsDirectory stringByAppendingPathComponent:@"MyTest"];

NSString * testPath = [testDirectory stringByAppendingPathComponent:@"test.text"];

/**

*  @brief 查询文件的可读性

*/

if ([defaultManager isReadableFileAtPath:testPath]) {

NSString  * text = [NSString stringWithContentsOfFile:testPath encoding:NSUTF8StringEncoding error:nil];

NSLog(@"%@",text);

}

}

- (void)deleteFile

{

NSFileManager * defaultManager = [NSFileManager defaultManager];

NSArray * paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

NSString * documentsDirectory = [paths firstObject];

NSString * testDirectory = [documentsDirectory stringByAppendingPathComponent:@"MyTest"];

NSLog(@"%@",testDirectory);

/**

*  @brief 查询文件的可执行性(isExecutableFileAtPath)

*/

NSLog(@"%@",[defaultManager isExecutableFileAtPath:testDirectory]?@"YES":@"NO");

/**

*  @brief 文件的可删除性(isDeletableFileAtPath)

*/

if ([defaultManager isDeletableFileAtPath:testDirectory]) {

/**

*  @brief 删除指定路径的文件

*/

[defaultManager removeItemAtPath:testDirectory error:nil];

}

NSLog(@"%@",[defaultManager isExecutableFileAtPath:testDirectory]?@"YES":@"NO");

}

ios文件读取的更多相关文章

  1. ios文件读取(二)

    - (void)viewDidLoad { [super viewDidLoad]; /** *  @brief 获取文件路径 * */ NSString * filePath = [self get ...

  2. ios 文件操作(NSFileManager)

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

  3. [iOS翻译]《iOS 7 Programming Cookbook》:iOS文件与文件夹管理(上)

    简介: iOS基于OS X,而OSX本身基于Unix操作系统.在iOS里面,操作系统的完全路径结构是不可见的,因为每个APP的数据都存储自身的沙盒里面.沙盒环境实际上听起来像这样:一个只允许当前APP ...

  4. ios 文件操作

    1.常见的NSFileManager文件方法 -(NSData *)contentsAtPath:path //从一个文件读取数据 -(BOOL)createFileAtPath: path cont ...

  5. iOS——文件操作NSFileManager (创建、删除,复制,粘贴)

    iOS——文件操作NSFileManager (创建.删除,复制,粘贴)       iOS的沙盒机制,应用只能访问自己应用目录下的文件.iOS不像android,没有SD卡概念,不能直接访问图像.视 ...

  6. IOS文件操作的两种方式:NSFileManager操作和流操作

    1.常见的NSFileManager文件方法 -(NSData *)contentsAtPath:path //从一个文件读取数据 -(BOOL)createFileAtPath: path cont ...

  7. iOS文件处理类

    iOS文件处理类 这是一个用来简化iOS中关于文件操作的一个类,所有方法都为类方法. Source File.h // // File.h // FileManager // // http://ho ...

  8. java中的文件读取和文件写出:如何从一个文件中获取内容以及如何向一个文件中写入内容

    import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.Fi ...

  9. php xml 文件读取 XMLReader

    php xml 文件读取 <?php /** $xmlString = '<xml> <persons count="10"> <person ...

随机推荐

  1. window对象BOM

    BOM的和新对象是window,他表示流浪器的一个实例,作为一个Global对象,有权访问parseInt()等方法 在全局作用域声明的变量,函数都有钱访问 ; function sayName () ...

  2. 将含有父ID的列表转成树

    我们知道数据库一般是以一个列表(id,pid)的形式保存树的.如何提取这棵树呢?最简单的方法就是根据pid循环查表.但是毫无疑问,这会产生巨大的数据库查询开销. 那么一般建议的方法是一次性将全部相关数 ...

  3. Linux下查看Apache的请求数

    在Linux下查看Apache的负载情况,以前也说过,最简单有有效的方式就是查看Apache Server Status(如何开启Apache Server Status点这里),在没有开启Apach ...

  4. (翻译玩)在使用flask-script的应用上使用gunicorn

    在使用flask-script的应用上使用gunicorn 两周前,我强烈的想要学习一点新知识,像新的语言,新的框架之类的!好让我的大脑忙碌起来,寻找了一些日子后,我决定学习现在越来越流行的云应用平台 ...

  5. PYTHON简介及安装

    Python简介 Python是一种广泛使用的高层次,通用,解释,动态编程语言.它的设计理念强调代码的可读性,它的语法允许程序员表达更少的代码的概念比将在可能语言如C ++或Java.该语言提供旨在使 ...

  6. python 解决递归调用栈溢出

    递归函数 2578次阅读 在函数内部,可以调用其他函数.如果一个函数在内部调用自身本身,这个函数就是递归函数. 举个例子,我们来计算阶乘n! = 1 x 2 x 3 x ... x n,用函数fact ...

  7. Git学习笔记--Git常用命令

    参考资料: http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 mkdir myfir ...

  8. 一步步教你如何源码编译Recovery

    *1 准备Ubuntu作为您的操作系统,笔者的版本是12.04_amd64. *2 准备 Android 源码的编译环境,主要是安装一些编译用到的lib库,以及同步源码的一些工具 ,如GIT,CURL ...

  9. MVC4.0系统开发新手历程(三)---数据导入计算

      数据导入计算 数据的重要意义就不需要我多说了吧,本项目中的数据来源是来自荆艺系统(熟悉物流报关的朋友应该知道)导出的一张Excel,包含了一段时间内整个公司所有销售的全部记录,保密级别那是杠杠的, ...

  10. bzoj1145

    题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1145 神题...... 定义f(abcd)为高度排名为abcd的个数,例如闪电的个数为f(13 ...