一.沙盒的获取

/**********第一种获取沙盒目录的方式*************/

1、获取沙盒的根路径

NSString *homePath = NSHomeDirectory();

///Users/tcx/Library/Application Support/iPhone Simulator/6.1/Applications/

NSLog(@"%@", homePath);


/******第二种获取沙盒目录的方式*******/

2、获取沙盒下的Documents目录

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


NSString *p = [paths lastObject];

NSLog(@"p = %@", paths);


3、获取Library目录

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

p = [pathsLibrary lastObject];

NSLog(@"Library = %@", pathsLibrary);


4、获取沙盒下的temp目录

NSString *tempPath = NSTemporaryDirectory();

NSLog(@"%@", tempPath);


二、类-NSData

datastring之间的转换

// NSString *s = @"我是字符串";

1、string---->data

NSData *data = [s dataUsingEncoding:NSUTF8StringEncoding];

2、data--->string

NSString *str = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];

NSLog(@"%@", str);


三、fileManager类-文件管理演示(实例)

[self fileManagerTest];

//实现fileManagerTest方法:

-(void)fileManagerTest{

NSString *text = @"爱是恒久,忍耐是恩慈";

NSString *homePath = NSHomeDirectory();

NSString *filePath = [homePath stringByAppendingPathComponent:@"file.text"];

NSData *textData = [text dataUsingEncoding:NSUTF8StringEncoding];

NSFileManager *fileManager = [NSFileManagerdefaultManager];

NSLog(@"%@", filePath);

1、创建文件

BOOL success = [fileManager createFileAtPath:filePath contents:textData attributes:nil];

if(success)

{

NSLog(@"文件创建成功");

}

2、创建目录

NSString *directPath = [homePath stringByAppendingPathComponent:@"test"];

success = [fileManager createDirectoryAtPath:directPath withIntermediateDirectories:YESattributes:nilerror:nil];

if (success) {

NSLog(@"创建目录成功");

}

3、读取文件内容

NSData *data = [fileManager contentsAtPath:filePath];

NSString *s = [[NSStringalloc] initWithData:data encoding:NSUTF8StringEncoding];

NSLog(@"%@", s);

4、移动文件

NSString *directPath2 = [homePath stringByAppendingPathComponent:@"test/file1.text"];

BOOL success2 = [fileManager moveItemAtPath:filePath toPath:directPath2 error:nil];

if(success2)

{

NSLog(@"移动文件成功");

}

5、复制文件

if([fileManager copyItemAtPath:filePath toPath:directPath2 error:nil])

{

NSLog(@"复制成功");

}

6、判断路径是否存在方法:fileExistsAtpath

if([fileManager fileExistsAtPath:filePath])

{ //删除文件

[fileManager removeItemAtPath:filePath error:nil];

}


7、获取文件大小

NSString *directPath3 = [homePath stringByAppendingPathComponent:@"test/file2.text"];


NSDictionary *attrDic = [fileManager attributesOfItemAtPath:directPath3 error:nil];

NSNumber *fileSize = [attrDic objectForKey:NSFileSize];

NSLog(@"%@", fileSize);

NSLog(@"%@", attrDic);

//NSNumber *fileSize = attrDic[NSFileSize];


8、计算一个目录的容量大小

directPath3 = [homePath stringByAppendingPathComponent:@"test"];

//通过枚举获取目下所有的文件的名字

NSDirectoryEnumerator *files = [fileManager enumeratorAtPath:directPath3];

//获取第一个文件的名字

NSString *path = [files nextObject];

NSInteger fileNum = 0;

while (path != nil) {

NSLog(@"%@", path);

NSString *path2 = [directPath3 stringByAppendingPathComponent:path];

NSDictionary *attrDic = [fileManager attributesOfItemAtPath:path2 error:nil];

NSNumber *fileSize = attrDic[NSFileSize];

fileNum += [fileSize intValue];

path = [files nextObject];

}

NSLog(@"目录的总大小:%d", fileNum);