OC-NSFileManger常見處理方式

    //創建文件對象
    NSFileManager *manager = [NSFileManager defaultManager];
    
    NSString *content = @"張三";
    
    
    NSError *createError;
    
    NSString* native =  [NSHomeDirectory() stringByAppendingString:@"/Documents/Test"];
    NSString* target =  [NSHomeDirectory() stringByAppendingString:@"/Documents/Test/5.txt"];
    
    
    
    
    //創建文件
    [manager createDirectoryAtPath:native withIntermediateDirectories:true attributes:nil error:&createError];
    
    //創建文件
    [manager createFileAtPath:[native stringByAppendingString:@"/text.txt"] contents:[content dataUsingEncoding:NSUTF8StringEncoding] attributes:nil];
    
    //文件信息
    NSLog(@"文件錯誤信息%@",[createError localizedDescription]);
    
    
    
    
    
    
    NSError *errorMessage;
    
    //文件重名 只能對當前目錄進行重名
    if ([manager moveItemAtPath:[native stringByAppendingString:@"/4.txt"] toPath:target error:&errorMessage] != YES) {
        NSLog(@"Unable to move file %@",[errorMessage localizedDescription]);
    }
    
    //顯示當前文件下內容
    NSLog(@"Directroy content %@",[manager contentsOfDirectoryAtPath:[NSHomeDirectory() stringByAppendingString:@"/Documents"] error:&errorMessage]);
    
    
    
    
    //移除文件
    [manager removeItemAtPath:target error:nil];
    
    //拷貝文件
    [manager copyItemAtPath:native toPath:target error:nil];

    //讀取文件數據
    NSLog(@"%@",[[NSString alloc] initWithData:[manager contentsAtPath:target] encoding:NSUTF8StringEncoding]);

    
    
    NSString* Home = [NSHomeDirectory() stringByAppendingString:@"/Documents"];
    
    BOOL isExists;
    
    //判斷是不是目錄
    [manager fileExistsAtPath:Home isDirectory:&isExists];
    //判斷是不是文件
    [manager fileExistsAtPath:Home];
    //判斷文件是不是可讀
    [manager isReadableFileAtPath:Home];
    //判斷文件是不是可寫
    [manager isWritableFileAtPath:Home];
    //判斷文件是不是可執行
    [manager isExecutableFileAtPath:Home];
    //判斷文件是否可刪除
    [manager isDeletableFileAtPath:Home];
    //返回C的字符串
    [manager fileSystemRepresentationWithPath:Home];
    //返回當前編輯器路徑
    [manager currentDirectoryPath];
    
    
    
    //獲取所有文件屬性
    NSLog(@"%@",[manager attributesOfItemAtPath:[NSHomeDirectory() stringByAppendingString:@"/Documents"] error:nil]);
    
    //獲取系統相關屬性
    NSLog(@"%@",[manager attributesOfFileSystemForPath:[NSHomeDirectory() stringByAppendingString:@"/Documents"] error:nil]);
    //獲取最後的名稱
    NSLog(@"%@",[manager displayNameAtPath:[NSHomeDirectory() stringByAppendingString:@"/Documents"]]);
    
    //不知道
    NSLog(@"%@",[manager componentsToDisplayForPath:[NSHomeDirectory() stringByAppendingString:@"/Documents/Test"]]);
    
    NSError *attrError;
    
    //設置文件屬性
    [manager setAttributes:[NSDictionary dictionaryWithObject:NSFileTypeDirectory forKey:NSFileType] ofItemAtPath:target error:&attrError];
    /*具備有寫入文件的對象有NSArray,NSString,NSData,NSDictionary*/
    
    //具備有寫入文件權限
    NSString* Home = [NSHomeDirectory() stringByAppendingString:@"/Documents/temp.plist"];
    
    NSError *error;
    //atomically true 如果文件複寫失敗 不會覆蓋原來文件
    [@"哈哈" writeToFile:Home atomically:true encoding:NSUTF8StringEncoding error:&error];
    
    //將數組寫入文件 數組只能寫如下對象[NSString,NSArray,NSData,NSDate,NSArray,NSDictionary];
    NSArray *temp = [NSArray arrayWithObjects:@"張三",@"李四",@"往往", nil];
    [temp writeToFile:Home atomically:true];
    
    //NSData寫入文件
    NSData *data = [NSData dataWithData:[@"張三數據" dataUsingEncoding:NSUTF8StringEncoding]];
    //[data writeToFile:Home atomically:true];
    
    
    //通過對象讀取數據
    NSArray *array1 = [[NSArray alloc] initWithContentsOfFile:Home];
    //通過類方法讀取數據
    NSArray *array2 = [NSArray arrayWithContentsOfFile:Home];


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章