ios沙盒檔案操作
阿新 • • 發佈:2018-12-26
獲取沙盒目錄
//獲取沙盒目錄 - (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;
}
}