1、前言
这是一篇关于文件管理的博客,不说很全,但是很详细。涵盖90%的NSFileManger类的方法。各个方法的实现举例和介绍分析。如果有什么问题,可以加入:QQ:185341804 (成功QQ吧)或则加我QQ :1542100658 欢迎您的加入和询问。
2、目录大纲
3、代码全段
//
// ViewController+KNSFileManager.m
// NSFileManager
//
// Created by MAC on 2017/3/28.
// Copyright © 2017年 NetworkCode小贱. All rights reserved.
//
#import "ViewController.h"
@implementation ViewController (KNSFileManager)
-(void)viewDidLoad{
[super viewDidLoad];
/**
创建文件管理对象
*/
[self createFileManagerObject];
/**
创建文件
*/
[self createFile:@"NetWork小贱.plist"];
/**
创建文件夹
*/
[self createFolder:@"NetWork"];
/**
判断文件内容是否相等
*/
[self fileContentComparison];
/**
文件或者文件夹的复制
*/
[self copyFile];
/**
文件或者文件夹的移动
*/
[self moveFile];
/**
创建硬连接
*/
[self linkFile];
/**
删除文件或文件夹
*/
[self removeFile];
/**
获取文件中的数据
*/
[self getDataFile];
/**
获取文件夹的层次
*/
[self getArrangement];
/**
获取文件在系统中代表的字符
*/
[self getfileSystemRepresentation];
/**
获取文件的属性
*/
[self getFileAttribute];
}
#pragma mark -- 创建一个NSFileManager类的对象
-(void)createFileManagerObject{
if (!fileManager) {
fileManager = [NSFileManager defaultManager];
}
}
#pragma mark -- 创建文件的路径
-(NSString*)createFilePath:(NSString*)fileName{
NSString * filePathString = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES).firstObject;
return [NSString stringWithFormat:@"%@/%@",filePathString,fileName];
}
#pragma mark 创建文件
-(void)createFile:(NSString*)fileString{
/**
创建文件
@parm createFileAtPath 文件的路径
@parm contents 文件创建时写入的内容,可为nil
@parm attributes 文件的属性,可为nil
*/
BOOL isFile = [fileManager createFileAtPath:[self createFilePath:fileString] contents:nil attributes:nil];
if (!isFile) {
NSLog(@"创建失败");
return;
}
/**
判断文件是否存在
*/
[self judgeObjectExistence:[self createFilePath:@"NetWork小贱.plist"]];
}
#pragma mark -- 创建文件夹
-(void)createFolder:(NSString*)folderString{
/**
创建文件夹
@parm path 创建文件夹的路径
@parm createIntermediates 是否展开文件夹的中间目录
@parm attributes 是创建文件夹设置的属性,可为nil
@parm error 创建文件夹返回的错误对象,可为nil
*/
NSError * error = nil;
BOOL isFolder = [fileManager createDirectoryAtPath:[self createFilePath:folderString] withIntermediateDirectories:YES attributes:nil error:&error];
if (!isFolder) {
NSLog(@"createFolder_error:%@",error);
return;
}
/**
判断文件夹是否存在
*/
[self judgeObjectExistence:[self createFilePath:@"NetWork"]];
}
#pragma mark -- 判断文件是否存在
-(void)judgeObjectExistence:(NSString*)objectPath{
/**
判断文或者文件夹
BOOL Existence = [fileManager fileExistsAtPath:objectPath isDirectory:YES];
*/
BOOL isExistence = [fileManager fileExistsAtPath:objectPath];