美文网首页
iOS开发之常用路径及文件操作方法

iOS开发之常用路径及文件操作方法

作者: 雪碧童鞋 | 来源:发表于2020-03-06 13:51 被阅读0次

1.常用的路径方法

1.获取AppName.app 目录路径:

   NSString *path = [[NSBundle mainBundle] bundlePath];

2.获取Documents目录路径的方法:

    NSString *documentPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES).firstObject;

3.Library/Caches目录路径方法:

    NSString *cachePath = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES).firstObject;

4.Library/Application Support目录路径方法:

   [NSSearchPathForDirectoriesInDomains(NSApplicationSupportDirectory,   NSUserDomainMask, YES) objectAtIndex:0]

5.tmp目录路径的方法:

    NSString *tmpPaht = NSTemporaryDirectory();

6.获取沙盒主目录路径    

    NSString *homePaht = NSHomeDirectory();

2.文件操作相关方法

1. 判断文件/文件夹是否存在

+ (BOOL)isExistFileForPath:(NSString *)strFilePath {
    if (strFilePath.length < 1) {
        return NO;
    }
    NSFileManager *fileMgr = [NSFileManager defaultManager];
    BOOL isDirectroy = NO;
    BOOL result = [fileMgr fileExistsAtPath:strFilePath isDirectory:&isDirectroy];
    if (!isDirectroy && result) {
        return YES;
    }
    return NO;
}

2. 创建文件

    NSString * path = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
    NSString * filePath = [[path1 stringByAppendingPathComponent:@"bbb"]  stringByAppendingPathExtension:@"txt"];
    NSString * string = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
    BOOL success =[[string dataUsingEncoding:NSUTF8StringEncoding] writeToFile:filePath atomically:YES];
    if (success) {
        NSLog(@"写入成功");
    }else{
        NSLog(@"写入失败");
    }

3. 创建文件夹(相比创建文件多了一行创建文件夹的代码)

    NSString * path = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
    NSString * path1 = [path stringByAppendingPathComponent:@"wenJianJia"];
    if (![[NSFileManager defaultManager] fileExistsAtPath:path1]) {
        [[NSFileManager defaultManager] createDirectoryAtPath:path1 withIntermediateDirectories:YES attributes:nil error:nil];
    }
    NSString * filePath = [[path1 stringByAppendingPathComponent:@"bbb"]  stringByAppendingPathExtension:@"txt"];
    NSString * string = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
    BOOL success =[[string dataUsingEncoding:NSUTF8StringEncoding] writeToFile:filePath atomically:YES];
    if (success) {
        NSLog(@"写入成功");
    }else{
        NSLog(@"写入失败");
    }

4. 删除文件

+ (BOOL)deleteFileOrDirectoryAtPath:(NSString *)strPath {

    NSFileManager *fileMgr = [NSFileManager defaultManager];
    NSError *error = nil;
    BOOL result = [fileMgr removeItemAtPath:strPath error:&error];
    return result;
}

5. 移动文件

+ (BOOL)moveFileAtPath:(NSString *)originPath toNewPath:(NSString *)newPath {
    // 调用上方判断文件夹路径是否存在
    if (![HJFileManager isExistFileForPath:originPath]) {
        return NO;
    }
    NSFileManager *fileMgr = [NSFileManager defaultManager];
    BOOL bResult = [fileMgr moveItemAtPath:originPath toPath:newPath error:nil];
    return bResult;
}

相关文章

网友评论

      本文标题:iOS开发之常用路径及文件操作方法

      本文链接:https://www.haomeiwen.com/subject/upuvrhtx.html