Object-C文件操作(续)

    NSString *fpath = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/1.c"];//获取文件路径
    NSLog(@"%@",fpath);
    
    NSFileManager *manager = [NSFileManager defaultManager];//获取文件管理器的对象
    
    if ([manager createFileAtPath:fpath contents:[fpath dataUsingEncoding:NSUTF8StringEncoding] attributes:nil])//创建文件,如果已经有一个同名的文件夹存在,就会创建失败
    {
        NSLog(@"成功!");
    }
    else
    {
        NSLog(@"失败!");
    }
    
    NSString *dpath = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/a/b/c"];
    NSLog(@"%@",dpath);
    
    //创建文件夹,并且创建中间缺少的目录
    NSError *error;
    if ([[NSFileManager defaultManager] createDirectoryAtPath:dpath withIntermediateDirectories:YES attributes:nil error:&error])
    {
        NSLog(@"成功!");
    }
    else
    {
        NSLog(@"失败!");
    }
    
//    获取目录下的所有文件或者文件夹,调用方法:NSArray *files = [manage contentsOfDirectoryAtPath: path error:nil];

//    1,path是目录路径
//
//    2, NSArray *files中保存的是子文件的文件名。
//
//    3,可以通过NSLog("%@", files)查看每个子文件的文件名,确保当前目录有子文件。
//
//    4,path允许本程序访问
    NSString *str = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];
    NSArray *arr = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:str error:nil];
    NSLog(@"%@",arr);
    
//  递归的方式获取子项列表
    NSArray *arr1 = [[NSFileManager defaultManager] subpathsAtPath:str];
    NSLog(@"%@",arr1);
    
    [manager removeItemAtPath:fpath error:&error];//删除文件或文件夹
    if (error) {
        NSLog(@"失败!");
    }
    [manager removeItemAtPath:dpath error:&error];
    if (error) {
        NSLog(@"失败!");
    }
    NSLog(@"%@",[[NSFileManager defaultManager] subpathsAtPath:[NSHomeDirectory() stringByAppendingPathComponent:@"Documents"]]);
    [manager removeItemAtPath:[NSHomeDirectory() stringByAppendingPathComponent:@"Documents/a"] error:&error];//删除文件夹,连同子目录一起删除
    if (error) {
        NSLog(@"失败!");
    }
    NSLog(@"%@",[manager contentsOfDirectoryAtPath:fpath error:&error]);
    
    if ([manager createFileAtPath:fpath contents:[@"abcdefghijklmnopqrstuvwxyz" dataUsingEncoding:NSUTF8StringEncoding] attributes:nil])//创建文件
    {
        NSLog(@"成功!");
    }
    if ([manager createDirectoryAtPath:dpath withIntermediateDirectories:YES attributes:nil error:nil])//创建文件夹
    {
        NSLog(@"成功!");
    }
    
    if ([manager fileExistsAtPath:[NSHomeDirectory() stringByAppendingString:@"/Documents"]])//检查文件或文件夹是否存在
    {
        NSLog(@"存在!");
    }
    
    BOOL bool1;
    if ([manager fileExistsAtPath:dpath isDirectory:&bool1])//检查文件或文件夹是否存在,并且判断是否为文件夹
    {
        NSLog(@"存在");
        if (bool1)
        {
            NSLog(@"是一个文件夹!");
        }
        else
        {
            NSLog(@"但不是一个文件夹!");
        }
    }
    
    NSDictionary *dic = [[NSFileManager defaultManager] attributesOfItemAtPath:fpath error:nil];//获取文件或文件夹的属性
    NSLog(@"%@",dic);
    NSLog(@"%llu",dic.fileSize);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值