首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

NSFileManager createDirectoryAtPath方法返回true,但未创建任何目录

NSFileManager是苹果iOS开发中的一个类,用于在文件系统中创建、删除、移动、复制文件和目录等操作。其中的createDirectoryAtPath方法用于创建目录。

当调用NSFileManager的createDirectoryAtPath方法时,如果方法返回true表示目录创建成功,但实际上没有创建任何目录,这可能有以下几种原因:

  1. 路径不存在:如果指定的目录路径不存在,NSFileManager无法创建目录。在这种情况下,方法会返回true表示操作成功,但实际上没有进行任何操作。因此,可以先使用fileExistsAtPath方法检查目录路径是否存在,如果不存在可以先创建所需的父目录,然后再创建目标目录。
  2. 权限不足:如果当前用户没有足够的权限在指定路径下创建目录,NSFileManager也无法成功创建目录。在这种情况下,方法同样会返回true表示操作成功,但实际上没有创建任何目录。可以使用fileExistsAtPath方法检查路径的权限,或者更改路径的权限以确保可以进行操作。
  3. 目录已存在:如果指定的目录路径已经存在,NSFileManager也不会再次创建相同的目录。此时,方法同样会返回true表示操作成功,但实际上没有进行任何操作。可以使用fileExistsAtPath方法检查路径是否已经存在,如果存在可以选择是否进行相应的处理。

综上所述,当NSFileManager的createDirectoryAtPath方法返回true但未创建任何目录时,可能是由于路径不存在、权限不足或目录已存在等原因导致的。在调用该方法前应先确认目录路径的存在性和权限,以确保能够成功创建目录。

腾讯云相关产品中,可以使用腾讯云存储(COS)来进行文件的存储和管理。您可以通过腾讯云COS的官方文档了解更多信息和使用方式:腾讯云COS产品介绍

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

iOS中的NSFileManager

NSFileManager NSFileManager是用来管理文件系统管理的 它可以用来操作常见文件夹 NSFileManager常用方法 获取NSFileManager NSFileManager...Users/soso/Desktop/demo1/NSFileManager/string.txt"]; 判断一个文件是否存在,且是否是一个文件夹 //该方法返回值是说明传入的路径对应的文件或文件夹是否存在..." error:&error]; 创建文件夹 /* createDirectoryAtPath创建文件夹到什么地方 withIntermediateDirectories:如果指定的文件中有一些文件夹不存在...,是否自动创建不存在的文件夹,如果是YES,要在该路径下创建Text,若路径中没有NSFileManager这个文件夹,系统会自动创建,若为NO,则不会创建成功 attributes:创建出来为文件夹的属性...error:是否创建成功 注意:该方法只能用于创建文件夹,不能用于创建文件,路径最后的test就是新创建的文件夹 */ BOOL flag = [file createDirectoryAtPath:

39310
  • IOS中获取各种文件的目录路径的方法

    您不应该直接创建偏好设置文件,而是应该使用NSUserDefaults类来取得和设置应用程序的偏好. Caches 目录:用于存放应用程序专用的支持文件,保存应用程序再次启动过程中需要的信息。...获取这些目录路径的方法: 1,获取家目录路径的函数: NSString *homeDir = NSHomeDirectory(); 2,获取Documents目录路径的方法: NSArray *paths...ofType:@”png”]; UIImage *appleImage = [[UIImage alloc] initWithContentsOfFile:imagePath]; 代码中的mainBundle类方法用于返回一个代表应用程序包的对象...* fm=[NSFileManager defaultManager]; if(!...[fm fileExistsAtPath:[self dataFilePath]]){ //下面是对该文件进行制定路径的保存 [fm createDirectoryAtPath:[self dataFilePath

    5.8K20

    OC知识--Foundation框架详尽总结之『数字、结构体、日期、文件类』

    NSDate NSDate可以用来表示时间,可以进行一些常见的日期\时间处理 一个NSDate对象就代表一个时间 [NSDate date]返回的就是当前时间,注意此时间是世界标准时间,准确时间应加上当前时区与世界标准时间的偏移量...isReadableFileAtPath:(NSString *)path; path这个文件\文件夹是否可写- (BOOL)isWritableFileAtPath:(NSString *)path; 系统目录不允许写入...path这个文件\文件夹是否可删除- (BOOL)isDeletableFileAtPath:(NSString *)path; 系统目录不允许删除 3....(createIntermediates为YES代表自动创建中间的文件夹)- (BOOL)createDirectoryAtPath:(NSString *)path withIntermediateDirectories...*manager = [NSFileManager defaultManager]; BOOL flag = [manager createDirectoryAtPath:@"/Users/Walkers

    59540

    IOS获得各种文档文件夹路径的方法

    iphone沙箱模型的有四个目录,各自是什么,永久数据存储一般放在什么位置。得到模拟器的路径的简单方式是什么. documents,tmp。app,Library。...您不应该直接创建偏好设置文件,而是应该使用NSUserDefaults类来取得和设置应用程序的偏好. Caches 文件夹:用于存放应用程序专用的支持文件,保存应用程序再次启动过程中须要的信息。...@”png”]; UIImage *appleImage = [[UIImage alloc] initWithContentsOfFile:imagePath]; 代码中的mainBundle类方法用于返回一个代表应用程序包的对象...* fm=[NSFileManager defaultManager]; if(!...[fm fileExistsAtPath:[self dataFilePath]]){ //以下是对该文件进行制定路径的保存 [fm createDirectoryAtPath:[self dataFilePath

    1.6K30

    设计师编程指南之Sketch插件开发 2

    本期介绍 artboard 、NSFileManager 和 NSString 关于文件及文件夹的相关操作。 1 新建 artboard 新建一个 artboard ,并设置其位置,宽、高。...100); artboardFrame.setHeight(100); page.addLayers([newArtboard]) 2 文件及文件夹相关的操作 此部分涉及到 IOS 原生开发的 NSFileManager...和 NSString ,主要用到 NSString 的 stringWithContentsOfFile 方法,而 NSFileManager 是 iOS 中的文件管理类,关于详细的 NSFileManager...2.1 创建一个目录 var path='/Users/zhank/Downloads/draw'; NSFileManager.defaultManager().createDirectoryAtPath_withIntermediateDirectories_attributes_error...().fileExistsAtPath(from); if(isExist){ NSFileManager.defaultManager().moveItemAtPath_toPath_error

    1.2K100

    iOS无限金币安装包实现

    在itunes12之前的版本,如果要如果app开放了文档共享权限,那么可以通过读写共享文档的方法来恢复存档。...但是该方法也仅限于旧版本的itunes,最新的itunes相关已经被彻底的停用了,可以通过爱思助手来查看共享文件。...不过使用该方法只能访问Document目录,如果要访问Library目录会提示没有相关的权限。...如果要开放app的文件共享权限,需要修改Info.plist将如下属性设置为yes:UIFileSharingEnabled 不过大多数游戏的存档并不是仅仅存在于Document目录下,那么对于这类游戏如果要复制游戏存档这种方法就行不通了...isFileExists(outputdir)) { [[NSFileManager defaultManager] createDirectoryAtPath:outputdir withIntermediateDirectories

    33440

    基础篇- 沙盒以及文件的操作和存取

    来感受下iOS app的沙盒 官方文档图片,自行感受下 沙盒机制(sandBox) iOS应用程序只能在为该改程序创建的文件系统中读取文件,不可以去其它地方访问,此区域被称为沙盒,所有的非代码文件都要保存在此...因为应用的沙盒机制,应用只能在几个目录下读写文件 Documents:苹果建议将程序中建立的或在程序中浏览到的文件数据保存在该目录下,iTunes备份和恢复的时候会包括此目录。...[fm fileExistsAtPath:[self dataFilePath]]){ //下面是对该文件进行制定路径的保存 [fm createDirectoryAtPath:[...] == YES){ } 移动文件 NSFileManager* fm=[NSFileManager defaultManager]; NSError *myError = nil; if ([fm...moveItemAtPath:@"" toPath:@"" error:&myError] == YES){ } 拷贝文件 NSFileManager* fm=[NSFileManager defaultManager

    1.4K10

    实现iOS图片等资源文件的热更新化(三):动态的资源文件夹

    .顺便说一句,主目录的程序主目录的可见子目录有3个,分别是: Documents , Library , tmp ,具体介绍,可参考博文: iOS沙盒文件读写 Documents:苹果建议将程序创建产生的文件以及应用浏览产生的文件数据保存在该目录下...tmp:提供一个即时创建临时文件的地方,但不需要持久化,在应用关闭后,该目录下的数据将删除,也可能系统在程序不运行的时候清除。...NSString * bundleName = @"main.bundle"; NSError * err = nil; NSFileManager * defaultManager = [NSFileManager....这个逻辑,在真实的补丁逻辑中,很可能是不严密的,后续会使用其他方式,此处够用即可; createDirectoryAtPath 用于目录不存在时,先构建目录的层级结构;否则如果直接复制,很有可能会报错的...3.从特定缓存目录加载文件 因为目录是特定的,我们只要每次App启动后,根据相对路径动态获取绝对路径,进而拿到 缓存目录中 main.bundle 资源包路径,然后就可以使用已有的方法,从 bundle

    1.8K60

    Objective-C NSFileManager的使用 各种文件操作所有方法具体实现

    写在前面 弄了下个人站...防止内容再次被锁定...所有东西都在这里面 welcome~ 个人博客 所有方法 都很简单,大概记录一下,写文件并没有是追加的方式而是简单的覆盖 //创建文件夹...(BOOL)moveFile:(NSString*)fileName fromPath:(NSString*)fromPath toPath:(NSString*)toPath; 具体实现 初始化一下NSFileManager...,目录已存在"); }else { BOOL isCreate = [self.manager createDirectoryAtPath:filePath withIntermediateDirectories...return NO; } //创建文件 - (BOOL)creatFile:(NSString*)fileName at:(NSString*)dirName { //目录位置 NSString...(isFileExist && isDir)) { NSLog(@"目录不存在,请先创建目录"); return NO; } //文件是否存在 if

    86230
    领券