文件操作

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(@"路徑不存在");
    }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末连茧,一起剝皮案震驚了整個濱河市分井,隨后出現(xiàn)的幾起案子魂毁,更是在濱河造成了極大的恐慌荒椭,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,591評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件笔链,死亡現(xiàn)場離奇詭異段只,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)鉴扫,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,448評論 3 392
  • 文/潘曉璐 我一進(jìn)店門赞枕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人坪创,你說我怎么就攤上這事炕婶。” “怎么了误堡?”我有些...
    開封第一講書人閱讀 162,823評論 0 353
  • 文/不壞的土叔 我叫張陵古话,是天一觀的道長雏吭。 經(jīng)常有香客問我锁施,道長,這世上最難降的妖魔是什么杖们? 我笑而不...
    開封第一講書人閱讀 58,204評論 1 292
  • 正文 為了忘掉前任悉抵,我火速辦了婚禮,結(jié)果婚禮上摘完,老公的妹妹穿的比我還像新娘姥饰。我一直安慰自己,他們只是感情好孝治,可當(dāng)我...
    茶點故事閱讀 67,228評論 6 388
  • 文/花漫 我一把揭開白布列粪。 她就那樣靜靜地躺著,像睡著了一般谈飒。 火紅的嫁衣襯著肌膚如雪岂座。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,190評論 1 299
  • 那天杭措,我揣著相機(jī)與錄音费什,去河邊找鬼。 笑死手素,一個胖子當(dāng)著我的面吹牛鸳址,可吹牛的內(nèi)容都是我干的瘩蚪。 我是一名探鬼主播,決...
    沈念sama閱讀 40,078評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼稿黍,長吁一口氣:“原來是場噩夢啊……” “哼疹瘦!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起闻察,我...
    開封第一講書人閱讀 38,923評論 0 274
  • 序言:老撾萬榮一對情侶失蹤拱礁,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后辕漂,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體呢灶,經(jīng)...
    沈念sama閱讀 45,334評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,550評論 2 333
  • 正文 我和宋清朗相戀三年钉嘹,在試婚紗的時候發(fā)現(xiàn)自己被綠了鸯乃。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,727評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡跋涣,死狀恐怖缨睡,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情陈辱,我是刑警寧澤奖年,帶...
    沈念sama閱讀 35,428評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站沛贪,受9級特大地震影響陋守,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜利赋,卻給世界環(huán)境...
    茶點故事閱讀 41,022評論 3 326
  • 文/蒙蒙 一水评、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧媚送,春花似錦中燥、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,672評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至吟秩,卻和暖如春咱扣,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背峰尝。 一陣腳步聲響...
    開封第一講書人閱讀 32,826評論 1 269
  • 我被黑心中介騙來泰國打工偏窝, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 47,734評論 2 368
  • 正文 我出身青樓祭往,卻偏偏與公主長得像伦意,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子硼补,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,619評論 2 354

推薦閱讀更多精彩內(nèi)容