iOS 文件操作


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


        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 = [NSFileManager defaultManager];

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

    /*

        创建目录

     */

    BOOL resDirectory = [fileManager createDirectoryAtPath:testDirectory withIntermediateDirectories:YES attributes:nil error:nil];

    if (resDirectory) {

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

    }else{

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

    }

    

    /*

        创建文件

     */

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

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

    if (resFile) {

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

    }else{

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

    }

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

    /*

        写数据(字符串)到文件

     */

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

    BOOL res = [writeContent writeToFile:testPath atomically:YES encoding:NSUTF8StringEncoding error:nil];

    if (res) {

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

    }else{

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

    }

    

    /*

        读取(字符串)文件

     */

    NSString *readContent = [NSString stringWithContentsOfFile:testPath encoding:NSUTF8StringEncoding error:nil];

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

    

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

    

    /*

        写数据(数组)到文件

     */

    

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

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

    if (resArr) {

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

    }else{

        

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

    }

    /*

        读取(数组)文件

     */

    NSArray *arr = [NSArray arrayWithContentsOfFile:testPath];

    for (NSString *str in arr) {

        NSLog(@"%@",str);

    }

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


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

    

    /*

        写数据(字典)到文件

     */

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

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

    if (resDic) {

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

    }else{

        

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

    }


    /*

        读取(字典)文件

     */

    NSDictionary *dic = [NSDictionary dictionaryWithContentsOfFile:testPath];

    for (NSString *str in dic) {

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

    }


    /*

        文件属性

     */

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

    for (NSString *keyString in fileAttributes) {

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

    }

    

    /*

        删除文件

     */

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

    if (deleteRes) {

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

    }else{

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

    }

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

Python网络爬虫与推荐算法新闻推荐平台:网络爬虫:通过Python实现新浪新闻的爬取,可爬取新闻页面上的标题、文本、图片、视频链接(保留排版) 推荐算法:权重衰减+标签推荐+区域推荐+热点推荐.zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值