1。获得目录下的文件(或文件夹)名
NSError *error = nil;
NSFileManager *manager = [NSFileManager defaultManager];
NSArray *fileList = [manager directoryContentsAtPath:dir];
//fileList = [manager contentsOfDirectoryAtPath:dir error:&error];
2。获得文件(或文件夹)属性
NSString *filePath = getFilePath(dir, file);
NSDictionary *attributes = [manager fileAttributesAtPath:filePath traverseLink:NO]; // 获得文件属性字典
例如:取得文件的大小属性值
NSNumber *fSize = [attributes objectForKey:NSFileSize];
其他属性值获取如上。
3。判断是文件还是文件夹
BOOL isDirectory = NO;
// 判断是不是文件夹
[manager fileExistsAtPath:filePath isDirectory:&isDirectory];
4。删除文件
if (![manager removeItemAtPath:appFile error:&error])
{
DLog(@"could not delete file: %@", error);
}
5。创建目录
NSError *error = nil;
[managercreateDirectoryAtPath:Directory withIntermediateDirectories:YES attributes:nil error:&error];
6。创建文件
image =[[UIImagealloc] imageNamed:@"test.png"];
imageData =UIImagePNGRepresentation(photoimage);
[managercreateFileAtPath:filePathcontents: imageData attributes:nil];
7。判断文件是否存在
[manager fileExistsAtPath:filePath];
8。拷贝文件
[manager copyItemAtPath:filePath toPath:newPath error:&err];
9。移动文件(通过此接口重命名文件)
[manager moveItemAtPath:filePath toPath:newPath error:&err];
10。删除目录
if (![manager removeItemAtPath:testfolder error:&error])
{
DLog(@"could not delete folder: %@", error);
}
11。 获得系统磁盘的大小和可用磁盘的大小
- (NSNumber *) totalDiskSpace
{
NSDictionary *fattributes = [[NSFileManager defaultManager] fileSystemAttributesAtPath:NSHomeDirectory()];
return [fattributes objectForKey:NSFileSystemSize];
}
- (NSNumber *) freeDiskSpace
{
NSDictionary *fattributes = [[NSFileManager defaultManager] fileSystemAttributesAtPath:NSHomeDirectory()];
return [fattributes objectForKey:NSFileSystemFreeSize];
}
12。获得app各个目录的方法
NSDocumentDirecto
ry |
<Application_Home>/Documents |
NSCachesDirectory
|
<Application_Home>/Library/Caches |
NSApplicationSupp
ortDirectory
|
<Application_Home>/Library/Application Support |
NSHomeDirectory app顶级家(home)路径
Documents目录获得方法:
NSArray *paths = NSSearchPathForDirectoriesInDomains
(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
如果您指定NSApplicationDirectory作为目录参数,同时指定NSSystemDomainMask作为域掩码参数,则可以返回设备上的/Applications路径,但是,您的应用程序不能往该位置写入任何文件。