美文网首页
NSFileManager

NSFileManager

作者: L柠_檬 | 来源:发表于2016-08-19 11:09 被阅读28次
    目录
        1.1 创建文件
        1.2 获取文件大小
        1.3 APP安装情况
        1.4 文件的复制和移动
        1.5 文件中内容有多少行
        1.6 文件内容的读写操作
    
     1.1 创建文件
        
        NSFileManager *fm=[NSFileManager defaultManager];
        
        //1、创建文件,一般来说先要判断文件是否存在
        
        // Users/student/Desktop是文件11.txt路径
        
        BOOL ifExist=[fm fileExistsAtPath:@"/Users/didi/Desktop/14.txt"];
        
        //当BOOL为NO的时候,我们创建一个新的文件
        
        if(ifExist == NO)
        {
            
            //第一参数就是想创建文件的路径,路径里面要包括即将要创建的文件的名字和扩展名
            
            BOOL ifCreateSuccess=[fm createFileAtPath:@"/Users/didi/Desktop/14.txt" contents:nil attributes:nil];
            
            if(ifCreateSuccess == YES)
            {
                NSLog(@"成功");
            }
            else
            {
                NSLog(@"失败");
            }
            
        }
    
    1.2 获取文件大小
    
        NSDictionary *fileDic=[fm attributesOfItemAtPath:@"/Users/didi/Desktop/14.txt" error:nil];
    
        long long size=[fileDic fileSize];
    
    
    1.3 查看系统安装了哪些APP
        
        NSFileManager *fm = [NSFileManager defaultManager];
        
        NSError *error=nil;
        
        //浅层遍历,只遍历我们给定的路径这个文件夹的根目录
        
        NSArray *shallowArr=[fm contentsOfDirectoryAtPath:@"/Applications" error:&error];
        
        if(error)
        {
            NSLog(@"%@",error);
        }
        else
        {
            NSLog(@"%@",shallowArr);
            for(NSString *fileName in shallowArr)
            {
                
                if([fileName hasSuffix:@".app"])
                {
                    NSLog(@"%@",fileName);
                }
                
            }
        }
    
    
    1.4 文件的复制和移动
        
        NSFileManager *fm = [NSFileManager defaultManager];
        
        NSError *error=nil;
        
        //文件路径
        
        NSString *filePath=[NSString stringWithFormat:@"/Users/didi/Desktop/123/456/%@",@"14.txt"];
        
        //文件目的路径
        
        NSString *toPath=[NSString stringWithFormat:@"/Users/diid/Desktop/123/%@",@"14.txt"];
        
        //复制
        
        BOOL isCopySuccess=[fm copyItemAtPath:filePath toPath:toPath error:&error];
        
        if(isCopySuccess)
        {
            NSLog(@"成功");
        }
        else
        {
            NSLog(@"失败");
        }
        
        
        //移动
        
        BOOL isMoveSuccess=[fm moveItemAtPath:filePath toPath:toPath error:&error];
        
        if(isMoveSuccess)
        {
            NSLog(@"成功");
        }
        else
        {
            NSLog(@"失败%@",error);
        }
    
    
    1.5 计算文件中的内容有多少行
        
        NSString *content=[NSString stringWithContentsOfFile:@"/Users/didi/Desktop/text.txt" encoding:NSUTF8StringEncoding error:nil];
        
        NSArray *arr3=[content componentsSeparatedByString:@"\n"];
        
        int count=[arr3 count];
    
    
    1.6 文件内容的读写操作
    
        NSFileHandle *file=[NSFileHandle fileHandleForUpdatingAtPath:@"/Users/didi/Desktop/123/14.txt"];
        
        //读几个字节
        NSData *fileData=[file readDataOfLength:1];
                            
        NSString *str=[[NSString alloc]initWithData:fileData encoding:NSUTF8StringEncoding];
                            
                            
                            
        //到末尾
        NSData *fileData2=[file readDataToEndOfFile];
                            
                            NSString *str2=[[NSString alloc]initWithData:fileData2 encoding:NSUTF8StringEncoding]; 
                            
                            
                            
        //写内容
                            
        NSString *string1=@"123456789";
                            
        NSData *stringData=[string1 dataUsingEncoding:NSUTF8StringEncoding];
                            
        [file writeData:stringData];
    
    
    

    相关文章

      网友评论

          本文标题:NSFileManager

          本文链接:https://www.haomeiwen.com/subject/rsdbsttx.html