NSFileManager(创建、删除、复制、重命名)
// 1.获取文件管理单例
NSFileManager *sharedFileManger=[NSFileManager defaultManager];
// 2.
// 文件或目录是否存在 isDirectory:是否是目录
BOOL isHave=[sharedFileManger fileExistsAtPath:@"path"];
BOOL isDirectory;
BOOL isH=[sharedFileManger fileExistsAtPath:@"ppath" isDirectory:&isDirectory];
// 创建 目录(IntermediateDirectories:是否创建中间目录)(存在则不建)(att:文件夹的属性)
[sharedFileManger createDirectoryAtPath:@"path" withIntermediateDirectories:true attributes:nil error:nil];
// 创建 文件(存在则不建) (contents:文件的内容 att:文件的属性)
[sharedFileManger createFileAtPath:@"path" contents:nil attributes:nil];
// 删除 目录或文件
[sharedFileManger removeItemAtPath:@"path" error:nil];
// 移动 目录或文件
[sharedFileManger moveItemAtPath:@"path" toPath:@"toPath" error:nil];
// 复制 目录或文件
[sharedFileManger copyItemAtPath:@"path" toPath:@"toPath" error:nil];
// 获取 所有子目录文件名
NSArray *subFileArr=[sharedFileManger subpathsAtPath:@"path"];
// 获取 文件所有属性
NSDictionary *fileDic=[sharedFileManger attributesOfItemAtPath:@"path" error:nil];
// 获取 文件内容
NSData *fileContentData=[sharedFileManger contentsAtPath:@"path"];
// 文件内容是否相同
BOOL isEqual=[sharedFileManger contentsEqualAtPath:@"path1" andPath:@"path2"];
// 获取当前路径
NSString *currentPath=[sharedFileManger currentDirectoryPath];
// 改变当前路径
[sharedFileManger changeCurrentDirectoryPath:@"path"];
// 追加路径(自动在path2前+/,如果path2开头有/则删除/)
[@"path" stringByAppendingPathComponent:@"path2"];
// 写入文件(文件不存在则先创建再写入,如果存在中间路径则不建)(会覆盖)(有中文时使用NSASCIIStringEncoding会导致data为nil)
[[@"ssbb" dataUsingEncoding:NSUnicodeStringEncoding]writeToFile:@"path" atomically:true];
// 修改文件属性(属性不能填写不能修改的属性)
[[NSFileManager defaultManager] setAttributes:@[] ofItemAtPath:@"path" error:nil];
/*
NSFileSize(不可更改,单位b)
NSFileAppendOnly(创建的目录是否只读)
NSFileCreationDate(可更改,目录的创建时间)
NSFileOwnerAccountName(文件所有者的名字)
NSFileGroupOwnerAccountName(文件用户组的名字)
NSFileGroupOwnerAccountID(目录的组ID)
NSFileModificationDate(可更改,目录的修改时间)
NSFileOwnerAccountID(文件所有者的ID)
NSFilePosixPermissions(文件的访问权限)
NSFileReferenceCount(文件的引用计数)
*/
// 获取路径下所有文件的大小
- (unsigned long long)fileSizeForPath:(NSString *)path {
signed long long fileSize = 0;
NSFileManager *fileManager = [[NSFileManager alloc] init];
if ([fileManager fileExistsAtPath:path]) {
NSError *error = nil;
NSDictionary *fileDict = [fileManager attributesOfItemAtPath:path error:&error];
if (!error && fileDict) {
fileSize = [fileDict fileSize];
}
}
return fileSize;
}
网友评论