ios 文件读写

来源:互联网 发布:衣服淘宝好评语 编辑:程序博客网 时间:2024/05/08 03:09

     一、 每个iOS应用SDK都被限制在“沙盒”中,“沙盒”相当于一个加了仅主人可见权限的文件夹,苹果对沙盒有以下几条限制。
     
     (1)应用程序可以在自己的沙盒里运作,但是不能访问任何其他应用程序的沙盒。
     
     (2)应用程序间不能共享数据,沙盒里的文件不能被复制到其他应用程序文件夹中,也不能把其他应用程序文件夹中的文件复制到沙盒里。
     
     (3)苹果禁止任何读、写沙盒以外的文件,禁止应用程序将内容写到沙盒以外的文件夹中。
     
     (4)沙盒根目录里有三个文件夹

     
     Documents:一般应该把应用程序的数据文件存到这个文件夹里,用于存储用户数据或其他应该定期备份的信息。iTunes备份和恢复的时候会包括此目录
     tmp:存放临时文件,即应用程序再次启动不需要的文件.iTunes不会备份和恢复此目录,此目录下文件可能会在应用退出后删除

     Library/Caches:下有两个文件夹,Caches存储应用程序再次启动所需的信息,Preferences包含应用程序偏好设置文件,不过不要在这里修改偏好设置。iTunes不会备份此目录,此目录下文件不会在应用退出删除

因为应用是在沙箱(sandbox)中的,在文件读写权限上受到限制,只能在几个目录下读写文件:

    
    //获取用户主目录
    //第一种
   NSString* path = NSHomeDirectory();
    //第二种
    NSString* user =NSUserName();//获取用户名
    NSString* userPath = NSHomeDirectoryForUser(user);    
    NSLog(@"%@ %@",path,userPath);
    
    //获取document目录
    NSArray* array = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString* documentPath = [array objectAtIndex:0];
    NSLog(@"%@",documentPath);
    
    //获取临时目录
    NSString* tempPath = NSTemporaryDirectory();
    NSLog(@"%@",tempPath);
    
    //获取cache目录
    NSString* cachePath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) objectAtIndex:0];
    NSLog(@"%@",cachePath);
    
    
    //将内容写入文件 在document目录中
    NSArray* paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);
    NSString* docDir = [paths objectAtIndex:0];
    if(!docDir)
        NSLog(@"Document目录未找到");
    NSArray* array1 = [[NSArray alloc]initWithObjects:@"内容",@"content", nil];
    NSString* filePath = [docDir stringByAppendingPathComponent:@"testFile.txt"];
    //上面这句话结束之后会filename将包含test.txt文件的完整路径,该文件位于应用程序的Documents目录下,我们可以用filename来创建读取和写入文件。
    if([array1 writeToFile:filePath atomically:YES])//写入文件
    {
        NSLog(@">>write OK");
    }
    
    
    //读取文件
    NSArray* array3 = [[NSArray alloc]initWithContentsOfFile:filePath];
    NSLog(@"%@",array3);
0 0
原创粉丝点击