1. 沙盒路徑的處理
- 沙盒路徑:
NSString *homePath = NSHomeDirectory()
- Documents路徑:
NSArray *docPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsPath = [docPaths firstObject];
- Library路徑:
NSArray *libPaths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);
NSString *libraryPath = libPaths[0];
- tmp路徑:
NSString *tmpPath = NSTemporaryDirectory()
2. NSString類路徑處理函數(shù)的處理
NSString *path = @"/data/Containers/Data/Application/test.png";
// 獲取路徑的各個組成部分
NSArray *array = [path pathComponents];
NSLog(@"%@", array);
// 提取路徑最后一個組成部分
NSString *name = [path lastPathComponent];
NSLog(@"%@", name);
// 刪除路徑的最后一個組成部分
NSString *string = [path stringByDeletingLastPathComponent];
NSLog(@"%@", string);
// 追加
NSString *addStr = [string stringByAppendingPathComponent:@"name.txt"];
NSLog(@"%@", addStr);
3. NSData處理
- (void) dataChange: (NSData *) data {
// NSData -> NSString
NSString *dataToString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
// NSString -> NSData
NSData *stringToData = [dataToString dataUsingEncoding:NSUTF8StringEncoding];
// NSData -> UIImage
UIImage *image = [UIImage imageWithData:stringToData];
// UIImage -> NSData
NSData *data1 = UIImagePNGRepresentation(image);
}
4. NSFileHandle類對文件內(nèi)容的讀取和寫入
先獲取測試路徑和文件
NSString *docPath = [self getDocumentsPath];
NSString *testPath = [docPath stringByAppendingPathComponent:@"慕課網(wǎng)"];
NSString *filePath = [testPath stringByAppendingPathComponent:@"note.txt"];
- 創(chuàng)建文件夾
NSFileManager *manager = [NSFileManager defaultManager];
BOOL ret = [manager createDirectoryAtPath:testPath
withIntermediateDirectories:YES
attributes:nil
error:nil];
if (ret) {
NSLog(@"文件夾創(chuàng)建成功");
} else {
NSLog(@"失敗");
}
- 創(chuàng)建文件
NSFileManager *manager = [NSFileManager defaultManager];
BOOL ret = [manager createFileAtPath:filePath
contents:nil
attributes:nil];
- 寫入內(nèi)容
NSString *content = @"test for note.";
BOOL ret = [content writeToFile:filePath
atomically:YES
encoding:NSUTF8StringEncoding
error:nil];
- 查看文件是否存在
- (BOOL) fileExist: (NSString *) filePath {
NSFileManager *manager = [NSFileManager defaultManager];
if ([manager fileExistsAtPath:filePath]) {
return YES;
} else {
return NO;
}
}
- 追加內(nèi)容
NSFileHandle *fileHandle = [NSFileHandle fileHandleForUpdatingAtPath:filePath]; // 打開文件焦蘑,準(zhǔn)備更新
[fileHandle seekToEndOfFile]; // 將節(jié)點調(diào)到文件末尾
NSString *addContents = @"add to note.";
NSData *stringToData = [addContents dataUsingEncoding:NSUTF8StringEncoding];
[fileHandle writeData:stringToData];
[fileHandle closeFile]; // 關(guān)閉文件
- 刪除文件
NSFileManager *manager = [NSFileManager defaultManager];
BOOL ret = [self fileExist:filePath];
if (ret) {
BOOL ret2 = [manager removeItemAtPath:filePath error:nil];
if (ret2) {
NSLog(@"刪除成功");
} else {
NSLog(@"刪除失敗");
}
} else {
NSLog(@"路徑不存在");
}