你的位置:首页 > 操作系统

[操作系统]NSFileManeger


#define PATH @"/Users/wenhua/testdir"

 

// 删除, 复制 剪切  这些行为都是管理文件的行为 

 

 //创建文件

void createFile(void)

{

    //文件管理器类, 一个app中只需要一个这样的管理器对象,即单例

    NSFileManager *fm =[NSFileManager defaultManager];

 

    //创建文件

//    fm createFileAtPath:<#(NSString *)#> contents:<#(NSData *)#> attributes:<#(NSDictionary *)#>

    [fm createFileAtPath:[NSString stringWithFormat:@"%@%@",PATH,@"/first.txt"] contents:[@"abcde" dataUsingEncoding:NSUTF8StringEncoding] attributes:nil];

}

 

//创建文件夹

void createDir(void)

{

    //文件管理器类, 一个app中只需要一个这样的管理器对象,即单例

    NSFileManager *fm =[NSFileManager defaultManager];

    

    //创建文件夹

//    fm createDirectoryAtPath:<#(NSString *)#> withIntermediateDirectories:<#(BOOL)#> attributes:<#(NSDictionary *)#> error:<#(NSError *__autoreleasing *)#>

    

    NSError *error=nil;

    

    [fm createDirectoryAtPath:[NSString stringWithFormat:@"%@%@",PATH,@"/middle/newdir"] withIntermediateDirectories:YES attributes:nil error:&error];

    if (error!=nil) {

        NSLog(@"%@",error);

        return;

    }

}

 

//删除文件

void rmFile(void)

{

    //文件管理器类, 一个app中只需要一个这样的管理器对象,即单例

    NSFileManager *fm =[NSFileManager defaultManager];

    //删除

//    fm removeItemAtPath:<#(NSString *)#> error:<#(NSError *__autoreleasing *)#>

 

    NSError *error=nil;

    [fm removeItemAtPath:[NSString stringWithFormat:@"%@%@",PATH,@"/first.txt"] error:&error];

    if (error) {

        NSLog(@"%@",error);

    }

}

 

//复制文件

void cpFile(void)

{

    //文件管理器类, 一个app中只需要一个这样的管理器对象,即单例

    NSFileManager *fm =[NSFileManager defaultManager];

    //复制

//    fm copyItemAtPath:<#(NSString *)#> toPath:<#(NSString *)#> error:<#(NSError *__autoreleasing *)#>

    

    NSError* error=nil;

    

    //复制文件

    [fm copyItemAtPath:@"/Users/xiaozai/Desktop/test.plist" toPath:[NSString stringWithFormat:@"%@%@",PATH,@"/test.plist"] error:&error];

    if (error) {

        NSLog(@"%@",error);

    }

    

    //复制文件夹

    [fm copyItemAtPath:@"/Users/xiaozai/Desktop/deskdir" toPath:[NSString stringWithFormat:@"%@%@",PATH,@"/deskdir"] error:&error];

    if (error) {

        NSLog(@"%@",error);

    }

}

 

//剪切文件

void mvFile(void)

{

    //剪切,移动

//    fm moveItemAtPath:<#(NSString *)#> toPath:<#(NSString *)#> error:<#(NSError *__autoreleasing *)#>

    //文件管理器类, 一个app中只需要一个这样的管理器对象,即单例

    NSFileManager *fm =[NSFileManager defaultManager];

    

    NSError *error=nil;

    [fm moveItemAtPath:[NSString stringWithFormat:@"%@%@",PATH,@"/test.plist"] toPath:@"/Users/xiaozai/Desktop/test.plist" error:&error];

 

    if (error) {

        NSLog(@"%@",error);

    }

    

    [fm moveItemAtPath:[NSString stringWithFormat:@"%@%@",PATH,@"/deskdir"] toPath:@"/Users/xiaozai/Desktop/deskdir" error:&error];

    if (error) {

        NSLog(@"%@",error);

    }

}

 

// 文件是否存在于某个路径

bool isFileExistAtPath()

{

    NSString *path = [NSString stringWithFormat:@"%@/file.zip", NSHomeDirectory()];

    NSFileManager *fm = [ NSFileManager defaultManager];

    return [fm fileExistsAtPath:path];

}

// 若创建未出错,那一定就会返回TRUE了

 

//遍历某个目录

void travelListDir(void)

{

    NSFileManager *fm = [ NSFileManager defaultManager];

    

    NSError* error=nil;

    //                       浅层遍历目录

    NSArray* retArray =[fm contentsOfDirectoryAtPath:PATH error:&error];

    if (error) {

        NSLog(@"%@",error);

    }

 

    NSLog(@"retArray:%@",retArray);

    //  深层遍历目录

    NSArray * array2= [fm subpathsOfDirectoryAtPath:@"/Users/wenhua/work/oc/19day" error:&error];

    

    NSEnumerator * enumerator = [ array2 objectEnumerator];

    id obj;

    while (obj=[enumerator nextObject]) {

        NSLog(@"%@",obj);

    }

}

 

void otherMethods(void)

{

    NSFileManager *fm = [ NSFileManager defaultManager];

    

    //获取app的当前工作路径

    NSLog(@"本程序的当前工作路径为:%@",[fm currentDirectoryPath]);

 

    //传一个文件(夹)的绝对路径,得到一个文件(夹)名

    NSLog(@"%@",[fm displayNameAtPath:PATH]);

}