您的位置:首页 > 移动开发 > Objective-C

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

2013-08-21 15:34 417 查看
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);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息