Object-C学习(八):文件管理【一】

来源:互联网 发布:黑马程序员讲师 编辑:程序博客网 时间:2024/05/16 15:46

NSFileManager:

这个类的作用:1、创建一个新文件

    2、从现有文件中读取数据

    3、将数据写入文件中

    4、重命名文件

    5、删除文件

    6、测试文件是否存在

    7、确定文件的大小及其他属性

    8、复制文件

    9、测试两个文件的内容是否相同

文件路径问题:

每个文件的路径都是一个NSString对象,路径又分为相对路径和绝对路径。相对路径就是相对与当前目录的文件路径,斜线用于隔开路径中的目录列表,例如file1/main.m就是当前目录下file1文件里的main.m文件。绝对路径是一个完整路径,从系统根目录开始一直追溯到你要寻找的文件,这个路径为绝对路径。绝对路径一般是以“/”开始,最前面的斜线就是系统根目录,/Users/MyMacName,就指定了三个目录,即系统根目录、Users目录、MyMacName目录。这是MAC下的,ios下可能会涉及到安全沙箱,这里不做讨论。

常见的NSFileManager文件方法:

1、初始化:

NSFileManager  *fm  =  [NSFileManager  defaultManager];

2、判断指定路径文件是否存在:

NSString *path = @"file.txt";

NSString *path2 = @"file2.txt";

NSString *path3 = @"file3.txt";

if  ([fm fileExistAtPath:path] == NO)

{

NSLog(@"文件未找到");

}

3、复制一个新的文件

if  ([fm copyItemAtPath:path toPath:path2 error:nil] == NO)

{

NSLog(@"复制失败");

}

4、判断两个文件内容是否相同

if  ([fm contentEqualAtPath:path andPath:path2] == NO)

{

NSLog(@"两个文件不相同");

}

5、重命名一个文件

if  ([fm moveItemAtPath:path2 andPath:path3] == NO)

{

NSLog(@"两个文件不相同");

}

6、读取文件内容

NSData *data = [fm contentsAtPath:path];

NSString *str = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding];

NSLog(@"%@",str);


上面用到了NSData 关于NSData内容这里比较详细。

NSFileManager提供了处理目录的方法:

-(NSString *) currentDirectoryPath 获取当前目录

-(BOOL) changeCurrentDirectoryPath:path更改当前目录

-(BOOL) copyItemAtPath:from toPath:to error:err复制目录结构(to不能是已存在的)

-(BOOL) creatDirectoryAtPath:path withIntermediateDirectories:(BOOL)flag attributes:arr创建一个新的目录

-(BOOL) fileExistsAtPath:path isDirectory:(BOOL *)flag测试文件是不是目录

-(NSArray *) contentsOfDirectoryAtPath:path error:err列出目录内容

-(NSDirectoryEnumerator *) enumeratorAtPath:path枚举目录内容

-(BOOL) removeItemAtPath:path error:err删除空目录

-(BOOL) moveItemAtPath:from toPath: to error:err重命名或移动一个目录(to不能是已存在的)



NSProcessInfo:

用来检索当前运行程序的各种信息。

 NSProcessInfo *processInfo = [[NSProcessInfoalloc]init];

        

        //NSString对象数字的形式返回当前进程的参数

        NSArray *array = [processInfoarguments];

        NSLog(@"array:%@",array1);

        

        //返回变量/值对词典。描述当前的环境变量

        NSDictionary *dictionary = [processInfoenvironment];

        NSLog(@"%@",dictionary);

        

        //返回进程名称

        NSString *str = [processInfoprocessName];

        NSLog(@"%@",str);

        

        //返回操作系统名称

        NSString *str = [processInfooperatingSystemName];

        NSLog(@"%@",str);

        

        //返回操作系统当前版本

        NSString *str = [processInfooperatingSystemVersionString];

        NSLog(@"%@",str20);

原创粉丝点击