object-c中管理文件和目录:NSFileManager使用方法
生活随笔
收集整理的這篇文章主要介紹了
object-c中管理文件和目录:NSFileManager使用方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
object-c中管理文件和目錄:NSFileManager使用方法
對于NSFileManager,文件或目錄是使用文件的路徑名唯一標識的。每一個路徑名都是一個NSString對象,它可以是相對路徑名,也可以是完整路徑名。
相對路徑名是相對于當前目錄的路徑名。所以,文件名file.m意味著當前目錄中的file.m。斜線字符用于隔開路徑中的目錄列表。
完整路徑名,也稱絕對路徑名,以斜線“/”開頭,斜線實際上就是一個目錄,稱為 根目錄。
這個特殊字符(~)用作用戶主目錄的縮寫。點“ . ”表示當前目錄,兩點“ ?.. ”表示父目錄
? ? 下面是常見的NSFileManager文件方法:
下面是一些基本的文件操作的代碼示例:
?
[plain] view plaincopyprint?- #import?<Foundation/Foundation.h>??
- ??
- int?main(int?argc,?const?char?*?argv[])??
- {??
- ??
- ????@autoreleasepool?{??
- ??????????
- ????????NSString?*fName?=?@"testfile.txt";??
- ????????NSFileManager?*fm?;??
- ????????NSDictionary?*?attr;??
- ??????????
- ????????//創建文件管理對象??
- ????????fm?=?[NSFileManager?defaultManager];??
- ??????????
- ????????//判斷文件是否存在??
- ????????if([fm?fileExistsAtPath:fName]?==?NO)??
- ????????{??
- ????????????NSLog(@"File?doesn't?exist!");??
- ????????????return?1;??
- ????????}??
- ??????????????
- ????????//將?testfile.txt?文件拷貝出一個新的文件?newfile.txt??
- ????????if([fm?copyPath:fName?toPath:@"newfile.txt"?handler:nil]?==?NO)??
- ????????{??
- ????????????NSLog(@"File?copy?failed!");??
- ????????????return?2;??
- ????????}??
- ??????????
- ????????//判斷兩個文件內容是否相等??
- ????????if([fm?contentsEqualAtPath:fName?andPath:@"newfile.txt"]?==?NO)??
- ????????{??
- ????????????NSLog(@"File?are?not?equal!");??
- ????????????return?3;??
- ????????}??
- ??????????????????
- ????????//將文件?newfile.txt?重命名為?newfile2.txt??
- ????????if([fm?movePath:@"newfile.txt"?toPath:@"newfile2.txt"?handler:nil]?==?NO)??
- ????????{??
- ????????????NSLog(@"File?rename?failed!");??
- ????????????return?4;??
- ????????}??
- ??
- ????????//獲取文件?newfile2.txt?的大小,并輸出??
- ????????if((attr?=?[fm?fileAttributesAtPath:@"newfile2.txt"?traverseLink:NO])?==?nil)??
- ????????{??
- ????????????NSLog(@"Couldn't?get?file?attributes!");??
- ????????????return?5;??
- ????????}??
- ??????????
- ????????NSLog(@"File?size?is?%i?bytes",[[attr?objectForKey:NSFileSize]?intValue]);??
- ??????????
- ????????//移出原始文件testfile.txt??
- ????????if([fm?removeFileAtPath:fName?handler:nil]?==?NO)??
- ????????{??
- ????????????NSLog(@"File?removal?failed!");??
- ????????????return?6;??
- ????????}??
- ??????????
- ????????NSLog(@"All?operations?were?successful!");??
- ????????//輸出文件內容??
- ????????NSLog(@"%@",[NSString?stringWithContentsOfFile:@"newfile2.txt"?encoding:NSUTF8StringEncoding?error:nil]);??
- ??????????
- ????}??
- ????return?0;??
- }??
#import <Foundation/Foundation.h>int main(int argc, const char * argv[])
{@autoreleasepool {NSString *fName = @"testfile.txt";NSFileManager *fm ;NSDictionary * attr;//創建文件管理對象fm = [NSFileManager defaultManager];//判斷文件是否存在if([fm fileExistsAtPath:fName] == NO){NSLog(@"File doesn't exist!");return 1;}//將 testfile.txt 文件拷貝出一個新的文件 newfile.txtif([fm copyPath:fName toPath:@"newfile.txt" handler:nil] == NO){NSLog(@"File copy failed!");return 2;}//判斷兩個文件內容是否相等if([fm contentsEqualAtPath:fName andPath:@"newfile.txt"] == NO){NSLog(@"File are not equal!");return 3;}//將文件 newfile.txt 重命名為 newfile2.txtif([fm movePath:@"newfile.txt" toPath:@"newfile2.txt" handler:nil] == NO){NSLog(@"File rename failed!");return 4;}//獲取文件 newfile2.txt 的大小,并輸出if((attr = [fm fileAttributesAtPath:@"newfile2.txt" traverseLink:NO]) == nil){NSLog(@"Couldn't get file attributes!");return 5;}NSLog(@"File size is %i bytes",[[attr objectForKey:NSFileSize] intValue]);//移出原始文件testfile.txtif([fm removeFileAtPath:fName handler:nil] == NO){NSLog(@"File removal failed!");return 6;}NSLog(@"All operations were successful!");//輸出文件內容NSLog(@"%@",[NSString stringWithContentsOfFile:@"newfile2.txt" encoding:NSUTF8StringEncoding error:nil]);}return 0;
}
轉載于:https://www.cnblogs.com/jiangyuxuan/archive/2013/03/09/2950988.html
總結
以上是生活随笔為你收集整理的object-c中管理文件和目录:NSFileManager使用方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 万能的娱乐八卦,帮我找一首歌,中间有ba
- 下一篇: CSS伪类 选择器