iOS 文件操作

来源:互联网 发布:平面设计需要的软件 编辑:程序博客网 时间:2024/06/05 02:38


将字符串,数组,字典中的数据写入文件中保存


        Documents:苹果建议将程序创建产生的文件以及应用浏览产生的文件数据保存在该目录下,iTunes备份和恢复的时候会包括此目录

     

        Library:存储程序的默认设置或其它状态信息;

     

        Library/Caches:存放缓存文件,保存应用的持久化数据,用于应用升级或者应用关闭后的数据保存,不会被itunes同步,所以为了减少同步的时间,可以考虑将一些比较大的文件而又不需要备份的文件放到这个目录下。

     

        tmp:提供一个即时创建临时文件的地方,但不需要持久化,在应用关闭后,该目录下的数据将删除,也可能系统在程序不运行的时候清除。

  

    

    

   /*

        获取引用沙盒根路径

     */

   NSString *str = NSHomeDirectory();

    NSLog(@"app_home :%@",str);

    

   /*

        获取Documents目录路径

     */

    

    NSArray *docPaths =NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);

   NSString *documentsDirectory = [docPaths objectAtIndex:0];

   NSLog(@"app_home_doc: %@",documentsDirectory);


   /*

        获取Library目录路径

     */

    NSArray *LibPaths =NSSearchPathForDirectoriesInDomains(NSLibraryDirectory,NSUserDomainMask, YES);

   NSString *libraryDirectory = [LibPaths objectAtIndex:0];

   NSLog(@"app_home_lib: %@",libraryDirectory);

    

   /*

        获取Cache目录路径

     */

    

    NSArray *cahPaths =NSSearchPathForDirectoriesInDomains(NSCachesDirectory,NSUserDomainMask, YES);

   NSString *cacheDirectory = [cahPaths objectAtIndex:0];

   NSLog(@"app_home_cah: %@",cacheDirectory);

    

   /*

        获取Tmp目录路径

     */

   NSString *tmpDirectory = NSTemporaryDirectory();

   NSLog(@"app_home_tmp: %@",tmpDirectory);

    

   /*

        对文件的具体操作,创建文件夹

     */

    

    NSFileManager *fileManager = [NSFileManagerdefaultManager];

   NSString *testDirectory = [documentsDirectory stringByAppendingPathComponent:@"test"];

   /*

        创建目录

     */

    BOOL resDirectory = [fileManagercreateDirectoryAtPath:testDirectory withIntermediateDirectories:YESattributes:nilerror:nil];

   if (resDirectory) {

       NSLog(@"文件夹创建成功");

    }else{

       NSLog(@"文件夹创建失败");

    }

    

   /*

        创建文件

     */

   NSString *testPath = [testDirectory stringByAppendingPathComponent:@"test.txt"];

   BOOL resFile = [fileManager createFileAtPath:testPath contents:nilattributes:nil];

   if (resFile) {

       NSLog(@"文件创建成功");

    }else{

       NSLog(@"文件创建失败");

    }

    /******************************(字符串)************************/

   /*

        写数据(字符串)到文件

     */

   NSString *writeContent = @"测试写入内容";

    BOOL res = [writeContentwriteToFile:testPath atomically:YESencoding:NSUTF8StringEncodingerror:nil];

   if (res) {

       NSLog(@"文件写入成功");

    }else{

       NSLog(@"文件写入失败");

    }

    

   /*

        读取(字符串)文件

     */

    NSString *readContent = [NSStringstringWithContentsOfFile:testPath encoding:NSUTF8StringEncodingerror:nil];

   NSLog(@"文件读取成功: %@",readContent);

    

     /******************************(数组)************************/

    

   /*

        写数据(数组)到文件

     */

    

   NSArray *writeArrcontent = [NSArrayarrayWithObjects:@"1",@"luo",@"asdf",nil];

   BOOL resArr = [writeArrcontent writeToFile:testPath atomically:YES];

   if (resArr) {

       NSLog(@"数组写入成功");

    }else{

        

       NSLog(@"数组写入失败");

    }

   /*

        读取(数组)文件

     */

   NSArray *arr = [NSArrayarrayWithContentsOfFile:testPath];

   for (NSString *strin arr) {

       NSLog(@"%@",str);

    }

    NSLog(@"文件读取成功");


    /******************************(字典)************************/

    

   /*

        写数据(字典)到文件

     */

   NSDictionary *writeDicContent = [NSDictionarydictionaryWithObjectsAndKeys:@"valu1",@"key1" ,@"value2",@"key2",nil];

   BOOL resDic = [writeDicContent writeToFile:testPath atomically:YES];

   if (resDic) {

       NSLog(@"字典写入成功");

    }else{

        

       NSLog(@"字典写入失败");

    }


   /*

        读取(字典)文件

     */

    NSDictionary *dic = [NSDictionarydictionaryWithContentsOfFile:testPath];

   for (NSString *strin dic) {

       NSLog(@"key %@ for value %@",str,[dicobjectForKey:str]);

    }


   /*

        文件属性

     */

   NSDictionary *fileAttributes = [fileManager attributesOfItemAtPath:testPath error:nil];

   for (NSString *keyStringin fileAttributes) {

       NSLog(@"key: %@ for value: %@",keyString,[fileAttributesvalueForKey:keyString]);

    }

    

   /*

        删除文件

     */

   BOOL deleteRes = [fileManager removeItemAtPath:testPath error:nil];

   if (deleteRes) {

       NSLog(@"文件删除成功");

    }else{

       NSLog(@"文件删除失败");

    }

   NSLog(@"文件是否存在:%@",[fileManagerisExecutableFileAtPath:testPath] ? @"YES" : @"NO");

1 0
原创粉丝点击