/*

*  @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. 3种创建、调用JavaScript对象的方法

    hey you guys,两个月没有写技术博客了.作为一名有理想.有抱负的程序员,两个月不写技术博客,真该打.业精于勤,荒于嬉.行成于思,毁于随.勤奋是必不可少的,今后养成一周至少一篇博客的习惯.好了 ...

  2. Xml读取异常--Invalid byte 1 of 1-byte UTF-8 sequence

    xml读取异常Invalid byte 1 of 1-byte UTF-8 sequence org.dom4j.DocumentException: Invalid byte 1 of 1-byte ...

  3. Playground

    题意 :求被两点分割的凸包面积的较小值    题意已经给出顺时针啦 就是求以某一个点 和其他所有相邻点组成三角形的面积,然后sum存和求两点的时候就求出那两点的之间所有三角形的和再减掉0点和那两点的面 ...

  4. Linux中的段管理,bss段,data段,

    Linux 的段管理, BSS段(bss segment)通常是指用来存放程序中未初始化的全局变量的一块内存区域.BSS是英文Block Started by Symbol的简称.BSS段属于静态内存 ...

  5. bzero()等的区别

    bzero  原型: extern void bzero(void *s, int n); 用法: #include <string.h> 功能:置字节字符串s的前n个字节为零.    说 ...

  6. IComparer<T> 接口Linq比较接口

    IComparer<T>比较两个对象并返回一个值,指示一个对象是小于.等于还是大于另一个对象. 在Linq当中,很多扩展方法接受一个实现IComparer<T>接口的实例的对象 ...

  7. How to install phpmyadmin on centos 6

    Phpmyadmin :   Phpmyadmin is a free tool used to administrate MySQL . Phpmyadmin supports all major ...

  8. Delphi TcxTreelist 设置scrollbars 不起作用的原因

    最近设置TcxTreelist的滚动条,发现水平的不起作用, 即使设置 sboth也不起作用. 查找,发现设置的一些属性导致了这个原因, 建立备忘,如下图: 1.属性, 这个页面,设置的表格,怎么也看 ...

  9. ZOJ3765---Lights (Splay伸展树)

    Lights Time Limit: 8 Seconds      Memory Limit: 131072 KB Now you have N lights in a line. Don't wor ...

  10. 最简单的内核模块hello world

    [root@rt2m09617.sqa.tbc /home/ahao.mah/main] #cat hello.c // Defining __KERNEL__ and MODULE allows u ...