ios沙盒文件操作

本文详细介绍了如何在iOS应用的沙盒中进行文件操作,包括获取沙盒目录、字符串文件路径、NSData与NSString及image的转换、创建文件夹和文件、写入及删除文件等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

获取沙盒目录

//获取沙盒目录
- (NSString *)getHomePath{
    NSString *homePath =NSHomeDirectory();
    return homePath;
}
//获取Document目录
- (NSString *)getDocumentPath{
    NSArray *docPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentPath = [docPaths lastObject];
    return documentPath;
}
//获取library目录
- (NSString *)getLibraryPath{
    NSArray *libPaths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);
    NSString *libraryPath = [libPaths lastObject];
    return libraryPath;
}
//获取tmb目录
- (NSString *)getTmbPath{
    NSString *tmpPath = NSTemporaryDirectory();
    return tmpPath;
}

获取string文件目录

//获取string路径成分
- (void)parsePath{
    NSString *path = @"/data/Containers/Data/Application/test.png";
    NSArray *array = [path pathComponents];
    //提取路径最后一个组成部分
    NSString *name = [path lastPathComponent];
    //删除路径最后一个组成部分
    NSString *string = [path stringByDeletingLastPathComponent];
    //追加路径最后一个组成部分
    NSString *addstring = [path stringByAppendingPathComponent:@"name.txt"];
}

NSData和NString和image之间的相互转换

- (void)dataChange:(NSData *)data{
    NSString *astring = [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];
    NSData *aData = [astring dataUsingEncoding:NSUTF8StringEncoding];
    UIImage *image = [UIImage imageWithData:aData];
    NSData *data2 = UIImagePNGRepresentation(image);
}

创建文件夹

-(void)createFolder{
    NSString *docPath = [self getDocumentPath];
    NSString *testPath = [docPath stringByAppendingPathComponent:@"haha"];
    NSFileManager *manager = [NSFileManager defaultManager];
    BOOL ret = [manager createDirectoryAtPath:testPath withIntermediateDirectories:YES attributes:nil error:nil];
    if (ret) {
        NSLog(@"文件夹创建成功");
    }else{
        NSLog(@"文件夹创建失败");
    }
}

创建文件

- (void)createFile{
    NSString *docPath = [self getDocumentPath];
    NSString *testPath = [docPath stringByAppendingPathComponent:@"抖词"];
    NSString *filePath = [testPath stringByAppendingPathComponent:@"我的笔记"];
    NSFileManager *fileManager = [NSFileManager defaultManager];
    BOOL ret = [fileManager createDirectoryAtPath:filePath withIntermediateDirectories:YES attributes:nil error:nil];
    if (ret) {
        NSLog(@"创建成功");
    }else{
        NSLog(@"创建失败");
    }
}

创建文件内容

-(void)writeFile{
    NSString *docPath = [self getDocumentPath];
    NSString *testPath = [docPath stringByAppendingPathComponent:@"抖词"];
    NSString *filePath = [testPath stringByAppendingPathComponent:@"我的笔记"];
    NSString *content = @"这是我所添加的笔记";
    BOOL ret = [content writeToFile:filePath atomically:YES encoding:NSUTF8StringEncoding error:nil];
    if (ret) {
        NSLog(@"写入文件成功");
    }else{
        NSLog(@"写入文件失败");
    }
}

添加文件内容


//判断文件是否存在
- (BOOL)fileExist:(NSString *)filePath{
    NSFileManager *manager = [NSFileManager defaultManager];
    if ([manager fileExistsAtPath:filePath]) {
        return YES;
    }else{
        return NO;
    }
}
//追加内容
- (void)addFile{
    NSString *docPath = [self getDocumentPath];
    NSString *testPath = [docPath stringByAppendingPathComponent:@"慕课网"];
    NSString *filePath = [testPath stringByAppendingPathComponent:@"我的笔记.txt"];
    NSFileHandle *fileHandle = [NSFileHandle fileHandleForUpdatingAtPath:filePath];//打开文件准备更新
    [fileHandle seekToEndOfFile];//将节点跳到文件末尾
    NSString *string = @"这是我所添加的笔记";
    NSData *stringData = [string dataUsingEncoding:NSUTF8StringEncoding];
    [fileHandle writeData:stringData];
    [fileHandle closeFile];//关闭文件
}

删除文件


- (void)deleteFile {
    NSString *docPath = [self getDocumentsPath];
    NSString *testPath = [docPath stringByAppendingPathComponent:@"抖音"];
    NSString *filePath = [testPath stringByAppendingPathComponent:@"我的笔记.txt"];
    NSFileManager *manager = [NSFileManager defaultManager];
    BOOL ret = [self fileExist:filePath];
    if (ret) {
        BOOL ret2  = [manager removeItemAtPath:filePath error:nil];
        if (ret2) {
            NSLog(@"文件删除成功");
        }else{
            NSLog(@"文件删除失败");
        }
    }else{
        return;
    }
}

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值