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"]);
"listFlie";
//-----------------------文件管理
//建立一個文件管理 fileManager
NSFileManager *fileManager = [NSFileManager defaultManager];
//建立文件內容 NSString類型
NSString *fileString =
//將字符串類型轉換爲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"]];
"/Users/a11/desktop/test.txt" error:nil];
//將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:
//建立文件目錄 也就是建立文件夾
for ([fileManager createDirectoryAtPath:[stringPath stringByAppendingPathComponent:@"newFile.text"] withIntermediateDirectories:YES attributes:nil error:nil]) {
NSLog("文件目錄建立成功");
"newFile.text"] error:nil];
}
//讀取文件目錄的內容
[fileManager contentsOfDirectoryAtPath:[stringPath stringByAppendingPathComponent:
//——————————NSFileHandle-------
//建立一個NSFileHandle
NSFileHandle *fileHandle = nil;
//指定要操做文件的路徑 讀 寫 更新
fileHandle=[NSFileHandle fileHandleForWritingAtPath :"/Users/a11/Desktop/we.txt"];
"cxy";
//指定光標在文件內容末尾
[fileHandle seekToEndOfFile];
//建立須要修改的內容
NSString *appendString =
//轉換成數據流格式
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[]) {
//在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:@"yyyy年MM月dd日 hh點mm點ss秒\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.刪除