获取本地文件并显示在tableView中,如同QQ中的文件展示,但是还不能查看内容

NSFileManager *fileManager = [NSFileManager defaultManager];

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

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

NSString *docDir = [paths objectAtIndex:0];

//    NSLog(@"%@",docDir);

NSError *error = nil;

_dataFileArray = [[NSArray alloc] init];

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

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

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

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

BOOL isDir = NO;

//在上面那段程序中获得的_dataFileArray中列出文件夹名

for (NSString *file in _dataFileArray) {

NSString *path = [docDir stringByAppendingPathComponent:file];

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

if (isDir) {

[dirArray addObject:file];

}

isDir = NO;

}

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView

{

return 1;

}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section

{

return _dataFileArray.count;

}

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath

{

return 80;

}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

{

TaskFileTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"taskFileCell" forIndexPath:indexPath];

cell.titleLabel.text = [_dataFileArray objectAtIndex:indexPath.row];

NSArray *strDivision = [cell.titleLabel.text componentsSeparatedByString:@"."];

NSString *strIntercept = [strDivision lastObject];

if ([strIntercept isEqualToString:@"plist"]) {

cell.fileImage.image = [UIImage imageNamed:@"plista.png"];

}

if ([strIntercept isEqualToString:@"doc"]) {

cell.fileImage.image = [UIImage imageNamed:@"doc.png"];

}

if ([strIntercept isEqualToString:@"html"]) {

cell.fileImage.image = [UIImage imageNamed:@"htmlaa.png"];

}

if ([strIntercept isEqualToString:@"ppt"]) {

cell.fileImage.image = [UIImage imageNamed:@"ppt.png"];

}

if ([strIntercept isEqualToString:@"rar"]) {

cell.fileImage.image = [UIImage imageNamed:@"rara.png"];

}

if ([strIntercept isEqualToString:@"zip"]) {

cell.fileImage.image = [UIImage imageNamed:@"zipa"];

}

if ([strIntercept isEqualToString:@"xls"]) {

cell.fileImage.image = [UIImage imageNamed:@"xlsa"];

}

if ([strIntercept isEqualToString:@"txt"]) {

cell.fileImage.image = [UIImage imageNamed:@"txta.png"];

}

if ([strIntercept isEqualToString:@"png"] || [strIntercept isEqualToString:@"jpg"]) {

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

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

NSString *docDir = [paths objectAtIndex:0];

NSString *strRoute = [NSString stringWithFormat:@"%@/%@",docDir,cell.titleLabel.text];

cell.fileImage.image = [UIImage imageNamed:strRoute];

}

return cell;

}

注:本文版权归作者所有,转载请注明出处

http://blog.csdn.net/xcp_123

你可能感兴趣的:(获取本地文件并显示在tableView中,如同QQ中的文件展示,但是还不能查看内容)