NSFileManager和NSFileHandle

文件操作
NSFileManager 
常见的NSFileManager文件的方法:
-(BOOL)contentsAtPath:path                        从文件中读取数据
-(BOOL)createFileAtPath:path contents:(BOOL)data attributes:attr         向一个文件写入数据
-(BOOL)removeFileAtPath: path handler: handler    删除一个文件
-(BOOL)movePath: from toPath: to handler: handler 重命名或移动一个文件(to可能已经存在)
-(BOOL)copyPath:from toPath:to handler: handler 复制文件 (to不能存在) 
-(BOOL)contentsEqualAtPath:path1 andPath:path2      比较两个文件的内容 
-(BOOL)fileExistsAtPath:path      测试文件是否存在 
-(BOOL)isReadablefileAtPath:path 测试文件是否存在,且是否能执行读操作 
-(BOOL)isWritablefileAtPath:path 测试文件是否存在,且是否能执行写操作 
-(NSDictionary *)fileAttributesAtPath:path traverseLink:(BOOL)flag    获取文件的属性 
-(BOOL)changeFileAttributes:attr atPath:path                                    更改文件的属性 

NSFileManager对象的创建 :
      NSFileManager *fm;
      fm = [NSFileManager defaultManager]; 
NSDictionary *attr =[fm fileAttributesAtPath: fname traverseLink: NO] ; //文件属性
                    NSLog(@"file size is:%i bytes ",[[attr objectForKey:NSFileSize] intValue]);
NSData *data =[fm contentsAtPath:@"filename"];//文件内容

 
常见的NSFileManager目录的方法:
-(NSString *)currentDirectoryPath                                 获取当前目录 
-(BOOL)changeCurrentDirectoryPa th:path                        更改当前目录 
-(BOOL)copyPath:from toPath:to handler:handler         复制目录结构,to不能已经存在 
-(BOOL)createDirectoryAtPath:path attributes:attr      创建目录 
-(BOOL)fileExistsAtPath:path isDirectory:(BOOL *)flag          测试文件是否为目录 (flag存储结构yes/no) 
-(NSArray *)directoryContentsAtPath:path                     列出目录的内容 
-(NSDirectoryEnumerator *)enumeratorAtPath:path   枚举目录的内容 
-(BOOL)removeFileAtPath:path handler:handler      删除空目录 
-(BOOL)movePath:from toPath:to handler:handler      重命名或移动一个目录,to不能是已经存在的 

path= [fm currentDirectoryPath] ;
NSArray *dirarray;
NSDirectoryEnumerator *direnu;

direnu = [fm enumeratorAtPath:path];
NSLog(@"contents of %@\n",path);
BOOL flag;
while((path = [direnu nextObject])!=nil)
{
                  NSLog(@"%@ ",path);
                  [fm fileExistsAtPath:path isDirectory:&flag];
                  if(flag == YES)
                  [direnu skipDescendents]; //跳过子目录 
}
path= [fm currentDirectoryPath] ;
dirarray = [fm directoryContentsAtPath:path];
NSLog(@"%@ ",dirarray);

常用路径工具函数
NSString * NSUserName(); 返回当前用户的登录名 
NSString * NSFullUserName(); 返回当前用户的完整用户名 
NSString * NSHomeDirectory(); 返回当前用户主目录的路径 
NSString * NSHomeDirectoryForUser(); 返回用户user的主目录 
NSString * NSTemporaryDirectory(); 返回可用于创建临时文件的路径目录 

常用路径工具方法
-(NSString *) pathWithComponents:components                                     根据components中元素构造有效路径 
-(NSArray *)pathComponents                                                               析构路径,获取路径的各个部分 
-(NSString *)lastPathComponent                                                          提取路径的最后一个组成部分 
-(NSString *)pathExtension                                                                路径扩展名 
-(NSString *)stringByAppendingPathCom ponent:path                              将path添加到现有路径末尾 
-(NSString *)stringByAppendingPathExt ension:ext                               将拓展名添加的路径最后一个组成部分 
-(NSString *)stringByDeletingPathComp onent                                        删除路径的最后一个部分 
-(NSString *)stringByDeletingPathExte nsion                                        删除路径的最后一个部分 的扩展名 
-(NSString *)stringByExpandingTildeIn Path                                          将路径中的代字符扩展成用户主目录(~)或指定用户主目录(~user) 
-(NSString *)stringByResolvingSymlink sInPath                                     尝试解析路径中的符号链接 
-(NSString *)stringByStandardizingPat h                                              通过尝试解析~、..、.、和符号链接来标准化路径 
使用路径NSPathUtilities.h 
tempdir = NSTemporaryDirectory(); 临时文件的目录名 
path = [fm currentDirectoryPath];
[path lastPathComponent]; 从路径中提取最后一个文件名 
fullpath = [path stringByAppendingPathCom ponent:fname];将文件名附加到路劲的末尾 
extenson = [fullpath pathExtension]; 路径名的文件扩展名 
homedir = NSHomeDirectory();用户的主目录 
component = [homedir pathComponents];   路径的每个部分 

NSProcessInfo类:允许你设置或检索正在运行的应用程序的各种类型信息
(NSProcessInfo *)processInfo                                                   返回当前进程的信息
-(NSArray*)arguments                                                                以NSString对象数字的形式返回当前进程的参数
-(NSDictionary *)environment                                                    返回变量/值对词典。描述当前的环境变量
-(int)processIdentity                                                               返回进程标识
-(NSString *)processName                                                          返回进程名称
-(NSString *)globallyUniqueString                                             每次调用该方法都会返回不同的单值字符串,可以用这个字符串生成单值临时文件名    
-(NSString *)hostname                                                               返回主机系统的名称 
-(unsigned int)operatingSystem                                                 返回表示操作系统的数字 
-(NSString *)operatingSystemName                                                       返回操作系统名称 
-(NSString *)operatingSystemVersionSt ring                                                       返回操作系统当前版本
-(void)setProcessName:(NSString *)name                                                将当前进程名称设置为name 
///////////////////////////////////////////////////////////////////////////////////////////////////////////
基本文件操作NSFileHandle
常用NSFileHandle方法
(NSFileHandle *)fileHandleForReadingAtPa th:path                                    打开一个文件准备读取
(NSFileHandle *)fileHandleForWritingAtPa th:path                                    打开一个文件准备写入
(NSFileHandle *)fileHandleForUpdatingAtP ath:path                                    打开一个文件准备更新(读取和写入)
-(NSData *)availableData                                                                           从设备或通道返回可用数据
-(NSData *)readDataToEndOfFile                                                                  读取其余的数据直到文件末尾(最多UINT_MAX字节)
-(NSData *)readDataOfLength:(unsigned int)bytes 从文件读取指定数目bytes的内容
-(void)writeData:data                           将data写入文件
-(unsigned long long) offsetInFile         获取当前文件的偏移量
-(void)seekToFileOffset:offset             设置当前文件的偏移量 
-(unsigned long long) seekToEndOfFile         将当前文件的偏移量定位的文件末尾
-(void)truncateFileAtOffset:offset            将文件的长度设置为offset字节
-(void)closeFile                                        关闭文件 

你可能感兴趣的:(NSFileHandle,NSFileManager)