一.沙盒的获取
/**********第一种获取沙盒目录的方式*************/
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
data和string之间的转换
// 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);
转载于:https://blog.51cto.com/xiaoxizhi/1268654