[非凡程序員]文件管理 NSFileManager NSFileHandle

NSFileManager 主要用於文件
NSFileHandle 主要用於文件內容程序員

在終端輸入UNIX命令 cd 切換目錄 touch 建立文件 mkdir 建立目錄 clear 清屏 ls 查看當前目錄下的全部文件 ls -l 查看當前目錄下全部文件的屬性(只讀、只寫、可讀可寫) 
更改一個文件的屬性: chmod 777 文件名.文件類型 (最大權限) app

NSFileManager 
建立文件(有的話能夠不用建立) 關鍵字:createFileAtPath:
[fileManager createFileAtPath:<#(NSString *)#> contents:<#(NSData *)#> attributes:<#(NSDictionary *)#>]
第一個參數是建立文件的路徑地址
第二個參數是文件內容的名字
第三個參數是nil

建立目錄 關鍵字:createDirectoryAtPath:
[fileManager createDirectoryAtPath:<#(NSString *)#> withIntermediateDirectories:<#(BOOL)#> attributes:<#(NSDictionary *)#> error:<#(NSError *__autoreleasing *)#>]
第一個參數是建立目錄的路徑地址
第二個參數是BOOL類型的 YES或者NO
第三個參數是nil
第四個參數是報警或者警告 不須要的話寫nil編碼

拷貝文件 關鍵字:copyltemAtPath:
[fileManager copyItemAtPath:<#(NSString *)#> toPath:<#(NSString *)#> error:<#(NSError *__autoreleasing *)#>]
第一個參數是被拷貝文件的路徑地址
第二個參數是要拷貝到哪一個位置的路徑地址
第三個參數是報警或者警告 不須要的話寫nilspa

移動文件 關鍵字: moveItemAtPath:
[fileManager moveItemAtPath:<#(NSString *)#> toPath:<#(NSString *)#> error:<#(NSError *__autoreleasing *)#>
第一個參數是被移動文件的路徑地址
第二個參數是要移動到哪一個位置的路徑地址
第三個參數是報警或者警告 不須要的話寫nil.net

刪除文件 關鍵字:
[fileManager removeItemAtPath:<#(NSString *)#> error:<#(NSError *__autoreleasing *)#>]
第一個參數寫要被刪除的文件的路徑地址
第二個參數寫報警或者警告 不須要的話寫nil3d

NSFileHandle  
1.建立文件(有能夠不建立)
2. 讀或者寫或者更新文件 NSFileHandle *fileHandle = nil;
       fileHandle = [NSFileHandle fileHandleForUpdatingAtPath:@"/Users/feifanchengxuyuan/Desktop/源文件2.txt"]; 更新關鍵字:fileHandleForUpdatingAtPath: 讀的關鍵字:[NSFileHandle fileHandleForReadingAtPath]       寫的關鍵字:[NSFileHandle fileHandleForWritingAtPath]
3.將光標移動到文件末尾 [fileHandle seekToEndOfFile]; 關鍵字:seekToEndOfFile
4.寫入文件內容編輯
5.轉爲數據流  NSData *appendData=[name dataUsingEncoding:NSUTF8StringEncoding]; 關鍵字 dataUsingEncoding: NSUTF8StringEncoding
6.寫入文件
7.關閉文件 [fileHandle closeFile] 關鍵字:closeFile

//取出文件路徑的組成部分
NSLog("%",[stringPath pathComponents]);
//取出文件路徑的最後一個組成部分
NSLog("%",[stringPath lastPathComponent]);
//給文件路徑追加一部分路徑
NSLog("%",[stringPath stringByAppendingPathComponent:"te.text"]);
//-----------------------文件管理
//建立一個文件管理 fileManager
NSFileManager *fileManager = [NSFileManager defaultManager];
//建立文件內容 NSString類型
NSString *fileString = 
"listFlie";
//將字符串類型轉換爲NSData類型 編碼格式爲NSUTF8
NSData *fileData = [fileString dataUsingEncoding:NSUTF8StringEncoding];
//建立文件 方法createFileAtPath 返回BOOL類型 用if判斷
if ([fileManager createFileAtPath:[stringPath stringByAppendingPathComponent:"list.text"] contents:fileData attributes:nil]) {
NSLog("文件建立成功");
}
//讀取文件 contentsAtPath: 返回NSData類型
NSData *contentData = [fileManager contentsAtPath:[stringPath stringByAppendingPathComponent:"list.text"]];
//將NSData類型轉轉換爲NSString類型
NSString *contentString = [[NSString alloc]initWithData:contentData encoding:NSUTF8StringEncoding];
//讀取文件內容
NSLog("讀取文件內容 :%",contentString);
//複製文件
[fileManager copyItemAtPath:[stringPath stringByAppendingPathComponent:"list.text"] toPath: "/Users/a11/desktop/test.txt" error:nil];
//移動文件
[fileManager moveItemAtPath:[stringPath stringByAppendingPathComponent:"list.text"] toPath:"/Users/a11/desktop/test.txt" error:nil];
//刪除文件
[fileManager removeItemAtPath:
"/Users/a11/desktop/test.txt" error:nil];
//建立文件目錄 也就是建立文件夾
for ([fileManager createDirectoryAtPath:[stringPath stringByAppendingPathComponent:@"newFile.text"] withIntermediateDirectories:YES attributes:nil error:nil]) {
NSLog("文件目錄建立成功");
}
//讀取文件目錄的內容
[fileManager contentsOfDirectoryAtPath:[stringPath stringByAppendingPathComponent:
"newFile.text"] error:nil];
//——————————NSFileHandle-------
//建立一個NSFileHandle
NSFileHandle *fileHandle = nil;
//指定要操做文件的路徑 讀 寫 更新
fileHandle=[NSFileHandle fileHandleForWritingAtPath :"/Users/a11/Desktop/we.txt"];
//指定光標在文件內容末尾
[fileHandle seekToEndOfFile];
//建立須要修改的內容
NSString *appendString = 
"cxy";
//轉換成數據流格式
NSData *appendData = [appendString dataUsingEncoding:NSUTF8StringEncoding];
//寫入到文件中
[fileHandle writeData:appendData];
//關閉文件
[fileHandle closeFile];code

//orm

//  main.m對象

//  fileTestrem

//

//  Created by 非凡 程序員 on 15/11/9.

//  Copyright (c) 2015 非凡 程序員. All rights reserved.

//


#import <Foundation/Foundation.h>


int main(int argc, const char * argv[]) {

    @autoreleasepool {

       //oc裏面對文件路徑操做須要NSString

        NSString *homePath = NSHomeDirectory();

        NSLog(@"%@",homePath);

        NSString *desktopPath = @"/Users/feifanchengxuyuan1/Desktop";

        NSArray *arrayCom = [desktopPath pathComponents];

        NSLog(@"%@",arrayCom);

        [desktopPath lastPathComponent];

       NSLog(@"追加路徑:%@", [desktopPath stringByAppendingPathComponent:@"test.txt"]);

        

        //文件管理

        NSFileManager *fileManger = [NSFileManager defaultManager];

        NSString *appendCon = @"alice\n";

        NSData *appendData = [appendCon dataUsingEncoding:NSUTF8StringEncoding];

        if ([fileManger createFileAtPath:[desktopPath stringByAppendingPathComponent:@"createFile.txt"] contents:appendData attributes:nil]) {

            

            NSLog(@"文件建立成功!");

        }

       NSData *contentData = [fileManger contentsAtPath:[desktopPath stringByAppendingPathComponent:@"createFile.txt"]];

//        NSLog(@"===%@",contentData);

        NSString *contentStr = [[NSString alloc]initWithData:contentData encoding:NSUTF8StringEncoding];

        NSLog(@"===%@",contentStr);

        

        //複製文件

        NSString *copyPath = @"/Users/feifanchengxuyuan1/Desktop/file/createFile.txt";

        [fileManger copyItemAtPath:[desktopPath stringByAppendingPathComponent:@"createFile.txt"] toPath:copyPath error:nil];

        //刪除文件

        [fileManger removeItemAtPath:copyPath error:nil];

        //建立目錄

        if( [fileManger createDirectoryAtPath:@"/Users/feifanchengxuyuan1/Desktop2/fileTest" withIntermediateDirectories:NO attributes:nil error:nil]){

            NSLog(@"目錄建立成功");

        }

        else{

            NSLog(@"目錄建立失敗");

        }

      NSLog(@"%@",  [fileManger contentsOfDirectoryAtPath:desktopPath error:nil]);

        //深度遍歷目錄路徑

//      NSLog(@"%@",  [fileManger subpathsOfDirectoryAtPath:desktopPath error:nil]);

        NSFileHandle *filehandleI = nil;

        [NSFileHandle fileHandleForReadingAtPath:[desktopPath stringByAppendingPathComponent:@"createFile.txt"]];

//        NSFileHandle *fileHandle = [[NSFileHandle alloc]init];

//        filehandleI = [NSFileHandle fileHandleForUpdatingAtPath:[desktopPath stringByAppendingPathComponent:@"createFile.txt"]];

        [filehandleI seekToEndOfFile];

        NSString *appendContent = @"hilary\n";

        NSData *appeddData = [appendContent dataUsingEncoding:NSUTF8StringEncoding];

        [filehandleI writeData:appeddData];

        [filehandleI closeFile];

        

    }

    return 0;

}





//

//  main.m

//  文件管理練習1

//

//  Created by 非凡程序員 on 15/11/9.

//  Copyright (c) 2015 Querida. All rights reserved.

//


#import <Foundation/Foundation.h>


int main(int argc, const char * argv[]) {

    @autoreleasepool {

        NSString *homePath = NSHomeDirectory();

        NSLog(@"%@",homePath);

        

        NSString *addCont = [homePath stringByAppendingPathComponent:@"Desktop/崔曉宇"];

        

        NSLog(@"%@",addCont);

        

       

        NSFileManager *fileManager = [NSFileManager defaultManager];

        NSDate *date =[NSDate date];

        NSLog(@"%@",date);

        

        NSDateFormatter *formatter =[[NSDateFormatter alloc]init];

        [formatter setDateFormat:@"yyyyMMdd hhmmss\n"];

        NSString *abc =[formatter stringFromDate:date];

        NSData *qwe =[abc dataUsingEncoding:NSUTF8StringEncoding];

        NSLog(@"%@",[homePath stringByAppendingPathComponent:addCont]);

        if ([fileManager createFileAtPath:[homePath stringByAppendingPathComponent:@"Desktop/源文件.txt"] contents:qwe attributes:nil]) {

            NSLog(@" 文件建立成功!");

        }

        else{

            NSLog(@" 文件建立失敗!");

        }

        

        if ([fileManager createDirectoryAtPath:[homePath stringByAppendingPathComponent:@"Desktop/文件管理"] withIntermediateDirectories:YES attributes:nil error:nil]) {

            NSLog(@" 目錄建立成功!");

            }

        else {

            NSLog(@" 目錄建立失敗!");

        }

//        NSFileHandle *fileHandle =nil;

        

        if([fileManager copyItemAtPath:[homePath stringByAppendingPathComponent:@"Desktop/源文件.txt"] toPath:@"/Users/feifanchengxuyuan/Desktop/文件管理/源文件1.txt"error:nil]){

            NSLog(@" 文件拷貝成功!");

            }

        else {

            NSLog(@" 文件拷貝失敗!");

        }

        

        if ([fileManager moveItemAtPath:@"/Users/feifanchengxuyuan/Desktop/文件管理/源文件1.txt" toPath:@"/Users/feifanchengxuyuan/Desktop/源文件2.txt" error:nil]) {

            NSLog(@" 文件移動成功!");

        }

        else{

            NSLog(@" 文件移動失敗!");

        }

        

        NSFileHandle *fileHandle = nil;

        fileHandle = [NSFileHandle fileHandleForUpdatingAtPath:@"/Users/feifanchengxuyuan/Desktop/源文件2.txt"];

        [fileHandle seekToEndOfFile];

        NSString *name =@"崔曉宇";

        NSData *appendData=[name dataUsingEncoding:NSUTF8StringEncoding];

        [fileHandle writeData:appendData];

        [fileHandle closeFile];

        

    }

    // 數據類型 NSDictionary NSMutableDictionary

    

    return 0;

    }

//   1 NSFileManager  NSFileHandle

//      文件                文件內容

//    1.文件 2.實例化單例對象 3.建立文件或者目錄 4.讀取 5.複製 6.移動 7.刪除

相關文章
相關標籤/搜索