iOS文件(沙盒目录,文件创建、移动、复制等)

目录获取

获取沙盒的主目录路径:

+ (NSString *)homeDir {
    return NSHomeDirectory();
}
复制代码

获取沙盒中Documents的目录路径:

+ (NSString *)documentsDir {
    return [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject];
}
复制代码

获取沙盒中Library的目录路径:

+ (NSString *)libraryDir {
    return [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) lastObject];
}
复制代码

获取沙盒中Libarary/Preferences的目录路径:

+ (NSString *)preferencesDir {
    NSString *libraryDir = [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) lastObject];
    return [libraryDir stringByAppendingPathComponent:@"Preferences"];
}
复制代码

获取沙盒中Library/Caches的目录路径:

+ (NSString *)cachesDir {
    return [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) firstObject];
}
复制代码

获取沙盒中tmp的目录路径:

+ (NSString *)tmpDir {
    return NSTemporaryDirectory();
}
复制代码

2、创建文件(夹)

创建文件夹:

+ (BOOL)createDirectoryAtPath:(NSString *)path error:(NSError *__autoreleasing *)error {
    NSFileManager *manager = [NSFileManager defaultManager];
    /* createDirectoryAtPath:withIntermediateDirectories:attributes:error:
     * 参数1:创建的文件夹的路径
     * 参数2:是否创建媒介的布尔值,一般为YES
     * 参数3: 属性,没有就置为nil
     * 参数4: 错误信息
    */
    BOOL isSuccess = [manager createDirectoryAtPath:path withIntermediateDirectories:YES attributes:nil error:error];
    return isSuccess;
}
复制代码

创建文件:

/*创建文件
 *参数1:文件创建的路径
 *参数2:写入文件的内容
 *参数3:假如已经存在此文件是否覆盖
 *参数4:错误信息
 */
+ (BOOL)createFileAtPath:(NSString *)path overwrite:(BOOL)overwrite error:(NSError *__autoreleasing *)error {
    // 如果文件夹路径不存在,那么先创建文件夹
    NSString *directoryPath = [self directoryAtPath:path];
    if (![self isExistsAtPath:directoryPath]) {
        // 创建文件夹
        if (![self createDirectoryAtPath:directoryPath error:error]) {
            return NO;
        }
    }
    // 如果文件存在,并不想覆盖,那么直接返回YES。
    if (!overwrite) {
        if ([self isExistsAtPath:path]) {
            return YES;
        }
    }
   /*创建文件
    *参数1:创建文件的路径
    *参数2:创建文件的内容(NSData类型)
    *参数3:文件相关属性
    */
    BOOL isSuccess = [[NSFileManager defaultManager] createFileAtPath:path contents:nil attributes:nil];

    return isSuccess;
}
复制代码

获取文件创建的时间或者修改的时间:

//获取文件创建的时间
+ (NSDate *)creationDateOfItemAtPath:(NSString *)path error:(NSError *__autoreleasing *)error {
    return (NSDate *)[self attributeOfItemAtPath:path forKey:NSFileCreationDate error:error];
}

//获取文件修改的时间
+ (NSDate *)modificationDateOfItemAtPath:(NSString *)path error:(NSError *__autoreleasing *)error {
    return (NSDate *)[self attributeOfItemAtPath:path forKey:NSFileModificationDate error:error];
}

复制代码

3、写入文件内容

按照文件路径向文件写入内容,内容可为数组、字典、NSData等等:
#pragma mark 写入文件内容
/*参数1:文件路径
 *参数2:文件内容
 *参数3:错误信息
 */
+ (BOOL)writeFileAtPath:(NSString *)path content:(NSObject *)content error:(NSError *__autoreleasing *)error {
    //判断文件内容是否为空
    if (!content) {
        [NSException raise:@
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值