文件操作——NSFileManager

NSFileManager:

对文件本身操作。

创建文件管理对象(单例)

#define PATH @"/users/XXX/Desktop/files"

NSFileManager * manager = [NSFileManager defaultManager];

浅遍历

- (NSArray *)contentsOfDirectoryAtPath:(NSString *)path error:(NSError **)error NS_AVAILABLE(10_5, 2_0);

获取指定路径下的内容,返回的是文件名的数组;

NSError __autoreleasing *error = nil;

NSArray *contents = [manager contentsOfDirectoryAtPath:PATH error:&error];

深遍历

- (NSArray *)subpathsOfDirectoryAtPath:(NSString *)path error:(NSError **)error NS_AVAILABLE(10_5, 2_0);

返回的是所有文件的相对路径;

NSArray *contents1 = [manager subpathsOfDirectoryAtPath:PATH error:&error];

/**

*  创建目录

*  @param 1 路径(需要包含新的文件名)

@param 2 是否自动创建中间层目录

@param 3 文件属性

@param 4 错误信息

* @return 创建的结果

*/

NSError __autoreleasing *error = nil;

BOOL rec = [manager createDirectoryAtPath:[NSString stringWithFormat:@"%@/ttttt/newFile",PATH] withIntermediateDirectories:NO attributes:nil error:&error];

NSLog(@"%@",[email protected]"创建成功":@"创建失败");

/**

*  创建文件

*  参数一: 路径(包含新的文件名)

*   参数二: 文件内容的二进制数据流

注意: 每次创建新的文件,都会覆盖掉原文件

*/

NSString *str = @"hello world ni hao";

NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding];

BOOL rec1 = [manager createFileAtPath:[NSString stringWithFormat:@"%@/未命名文件",PATH] contents:data attributes:nil];

NSLog(@"%d",rec1);

获取文件(这里说的文件包括文件夹和文件)的属性

NSDictionary * dic = [manager attrbutesOfItemAtPath:PATH error: &error];

NSLog(@"%@", dic);

设置文件属性

NSMutableDictionary * newDic = [NSMutableDictionary dictionaryWithDictionary:dic];

[newDic setObject:@292 forKey:NSFilePosixPermissions];

[newDic setObject:@1 forKey:NSFileExtensionHidden];

[manager setAttributes: newDic ofItemAtPath:PATH error : &error];

检测文件(目录)是否存在:

BOOL rec = [manager fileExistsAtPath:PATH];

BOOL isDir = NO;//接受是否是目录的返回值

rec = [manager fileExistsAtPath:PATH isDirectory:&isDir];

/*

copy

将指定路径的文件或者目录(深遍历)拷贝到另外一个指定的路径(包含文件名)

返回成功或者失败

*/

BOOL rec = [manager copyItemAtPath:[NSString stringWithFormat:@"%@/newDir",PATH] toPath:[NSString stringWithFormat:@"%@/file1/newDir",PATH] error:nil];

NSLog(@"%d",rec);

/*

move

可以移动文件或者文件夹(深遍历)

路径要包含新的名字,所以移动文件可以实现文件的改名

*/

[manager moveItemAtPath:[NSString stringWithFormat:@"%@/file1",PATH] toPath:@"/users/aaron/desktop/file1" error:nil];

/*

remove

*/

BOOL state = [manager removeItemAtPath:PATH error:nil];

NSLog(@"state = %d",state);

时间: 2024-10-11 06:19:46

文件操作——NSFileManager的相关文章

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

iOS——文件操作NSFileManager (创建.删除,复制,粘贴) iOS的沙盒机制,应用只能访问自己应用目录下的文件.iOS不像android,没有SD卡概念,不能直接访问图像.视频等内容.iOS应用产生的内容,如图像.文件.缓存内容等都必须存储在自己的沙盒内.默认情况下,每个沙盒含有3个文件夹:Documents, Library 和 tmp.Library包含Caches.Preferences目录.               上面的完整路径为:用户->资源库->Applicat

【非凡程序员】 OC第十七节课 文件操作(NSFileManager和NSFileHandle)

文件操作 #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) {    @autoreleasepool {        // insert code here...        NSLog(@"Hello, World!");                //----------- NSFileManager---------//                //实例化

文件操作-NSFileManager

NSFileManager类主要方法 +(NSFileManager *)defaultManager;获得文件管理器对象 -(BOOL)createFileAtPath:(NSString *)path contents:(NSData *)data attributes:(NSDictionary *)attr;创建文件 -(BOOL)createDirectoryAtPath:(NSString *)path withIntermediateDirectories:(BOOL)create

IOS 开发文件操作——NSFileManager

转自:http://blog.csdn.net/xyz_lmn/article/details/8968213,留着方便查阅 iOS的沙盒机制,应用只能访问自己应用目录下的文件.iOS不像android,没有SD卡概念,不能直接访问图像.视频等内容.iOS应用产生的内容,如图像.文件.缓存内容等都必须存储在自己的沙盒内.默认情况下,每个沙盒含有3个文件夹:Documents, Library 和 tmp.Library包含Caches.Preferences目录.               上

Objective-C文件和目录操作,IOS文件操作,NSFileManager使用文件操作

转自 http://blog.csdn.net/swingpyzf/article/details/15185767 objective-c通过使用NSFileManager类来管理和操作文件.目录,NSFileManager,文件或目录是使用文件的路径名的唯一标示.每个路径名都是一个NSString对象. NSFileManager对象通过defaultManager方法来创建实例 列如: NSFileManager *fm = [NSFileManager defaultManager];

【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,

IOS学习之IOS沙盒(sandbox)机制和文件操作之NSFileManager(三)

我们看看NSFileManager如何使用.包括创建文件,目录,删除,遍历目录等. 1.在Documents里创建目录 创建一个叫test的目录,先找到Documents的目录, NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0]; NSLog(