iOS本地文件列表及文件阅览

核心代码如下:

支持用其他软件查看本文件,用tableView获取到文件列表点击某个文件是实现预览文件的效果,如同QQ上收到的文件一样的。

NSFileManager *fileManager = [NSFileManager defaultManager];

//在这里获取应用程序Documents文件夹里的文件及文件夹列表

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

docDirs = [paths objectAtIndex:0];

NSError *error = nil;

//_dataFileArray是包含有该文件夹下所有文件的文件名及文件夹名的数组

_dataFileArray = [fileManager contentsOfDirectoryAtPath:docDirs error:&error];

fileList = [NSMutableArray array];

XCPFileObject *fileObj;

for (NSString *name in _dataFileArray) {

fileObj = [[XCPFileObject alloc] init];

fileObj.fileName = name;

NSDictionary *fileAttributes = [fileManager attributesOfItemAtPath:[docDirs stringByAppendingPathComponent:name] error:nil];

fileObj.filemTime = [fileAttributes objectForKey:@"NSFileCreationDate"];

fileObj.fileSize = [[fileAttributes objectForKey:@"NSFileSize"] integerValue];

fileObj.fileOwner = [fileAttributes objectForKey:@"NSFileGroupOwnerAccountName"];

[fileList addObject:fileObj];

}

//列出给定一个文件夹里的所有子文件夹名

NSMutableArray *dirArray = [[NSMutableArray alloc] init];

BOOL isDir = NO;

for (NSString *file in _dataFileArray) {

NSString *path = [docDirs stringByAppendingPathComponent:file];

[fileManager fileExistsAtPath:path isDirectory:(&isDir)];

if (isDir) {

[dirArray addObject:file];

}

isDir = NO;

}

封装好的Dome:http://download.csdn.net/detail/xcp_123/9735844 

你可能感兴趣的:(iOS本地文件列表及文件阅览)