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

来源:互联网 发布:c语言捕鱼 编辑:程序博客网 时间:2024/04/30 14:49
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://www.jianshu.com/p/a26cf0e316fe


0 0
原创粉丝点击