NSFileManager操作小结

16/08/04/wed

NSFileManager操作小结:

① 直接在沙盒目录下添加文件: 此种情况下,沙盒路径下可以写入文件

    NSString *cachespath = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)[0];
    NSString *local = [cachespath stringByAppendingPathComponent:@"heihei.txt"];
    NSString *test = @"this is a  test code";
   [test writeToFile:local atomically:YES encoding:NSUTF8StringEncoding error:nil];

② 在沙盒路径下自己添加文件夹:此种情况下,直接在自己拼接的路径下面写入文件是无效的

    NSString *cachespath = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)[0];
    NSString *local = [cachespath stringByAppendingPathComponent:@"haha/heihei.txt"];
    NSString *test = @"this is a  test code";
   [test writeToFile:local atomically:YES encoding:NSUTF8StringEncoding error:nil];
   //这个路径不会创建,自然文件也不能写入进去

对于②问题的解决办法是:自己拼接想要创建的路径,然后判断此路径是否存在,不存在的话就创建路径。再在路径下写入文件,代码如下

    NSString *cachespath = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)[0];
    NSString *local = [cachespath stringByAppendingPathComponent:@"hehe/haha"];
    if (![[NSFileManager defaultManager] fileExistsAtPath:local]) {
        [[NSFileManager defaultManager] createDirectoryAtPath:local withIntermediateDirectories:YES attributes:nil error:nil];
    }
    NSString *final = [local stringByAppendingPathComponent:@"heihei.txt"];
    NSString *test = @"this is a  test code";
    [test writeToFile:final atomically:YES encoding:NSUTF8StringEncoding error:nil];

推荐阅读更多精彩内容

  • 大纲 一、文件管理器项目:FileManager0412NSFileManager:文件管理器(单例类)作用:管理...
    AsaGuo阅读 150评论 0 0
  • 1.iOS的UIImage的两种不同的图片加载方式 此种方式是直接加载图片,直接从文件中获取图片,不会出现缓存. ...
    CarsonChen阅读 294评论 0 0
  • 辗转难眠,有些窝火,我想起奇葩说辩论,穷游和富游哪个更有幸福感,我当时的选择是富游,生活质量的提升能明显带来轻松。...
    Jane青阅读 2,816评论 1 2
  • 坐下来只用两分钟就注册了简书,我也说不好,想要通过这个app去做些什么,只是觉得也许可以在这里可以随便写点东西,如...
    一阵风qb阅读 32评论 0 0
  • 因为怀孕,忌讳的食物就挺多,首先我最爱的垃圾食品酸辣方便面是坚决不能吃了,昨天晚上去万达的圣豪超市了,在楼上逛了一...
    桐花满地阅读 154评论 0 0