文件操作
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对象的创建 :
NSDictionary *attr =[fm fileAttributesAtPath: fname traverseLink: NO] ; //文件属性
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)
{
}
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
关闭文件