文件管理类NSFileManager常用操作

xg48 9年前

1、创建一个文件管理器

NSFileManager *fm = [NSFileManager defaultManager];

2、浅度遍历目录

- (NSArray *)contentsOfDirectoryAtPath:(NSString *)path error:(NSError **)error

3、深度遍历目录

- (NSArray *)subpathsOfDirectoryAtPath:(NSString *)path error:(NSError **)error

4、获取当前目录

- (NSString *)currentDirectoryPath

5、更改当前目录

- (BOOL)changeCurrentDirectoryPath:(NSString *)path

6、枚举目录内容

- (NSDirectoryEnumerator *)enumeratorAtPath:(NSString *)path

7、创建目录

- (BOOL)createDirectoryAtPath:(NSString *)path withIntermediateDirectories:(BOOL)createIntermediates attributes:(NSDictionary *)attributes error:(NSError **)error

8、创建文件

- (BOOL)createFileAtPath:(NSString *)path contents:(NSData *)contents attributes:(NSDictionary *)attributes

9、复制文件

- (BOOL)copyItemAtPath:(NSString *)srcPath toPath:(NSString *)dstPath error:(NSError **)error

10、删除文件

- (BOOL)removeItemAtPath:(NSString *)path error:(NSError **)error

11、目录/文件拷贝

- (BOOL)copyItemAtPath:(NSString *)srcPath toPath:(NSString *)dstPath error:(NSError **)error

12、移动/重命名文件或者目录

- (BOOL)moveItemAtPath:(NSString *)srcPath toPath:(NSString *)dstPath error:(NSError **)error

13、测试文件是否存在

- (BOOL)fileExistsAtPath:(NSString *)path

14、获取文件信息(属性和权限)

- (NSDictionary *)attributesOfItemAtPath:(NSString *)path error:(NSError **)error

15、从文件中读取数据

- (NSData *)contentsAtPath:(NSString *)path

16、比较两个文件的内容

- (BOOL)contentsEqualAtPath:(NSString *)path1 andPath:(NSString *)path2

17、测试文件是否存在,且是否能执行读操作

- (BOOL)isReadableFileAtPath:(NSString *)path

18、测试文件是否存在,且是否能执行写操作

- (BOOL)isWritableFileAtPath:(NSString *)path

二、文件操作类NSFileHandle常用操作:

1、只读方式打开文件

+ (id)fileHandleForReadingAtPath:(NSString *)path

2、只写方式打开文件

+ (id)fileHandleForWritingAtPath:(NSString *)path

3、读写方式打开文件

+ (id)fileHandleForUpdatingAtPath:(NSString *)path

4、从文件当前位置读到结尾

- (NSData *)readDataToEndOfFile

5、从文件当前位置读固定字节数的内容

- (NSData *)readDataOfLength:(NSUInteger)length

6、返回所有可用的数据

- (NSData *)availableData

7、写文件

- (void)writeData:(NSData *)data

8、定位到文件尾部

- (unsigned long long)seekToEndOfFile

9、定位到文件指定位置

- (void)seekToFileOffset:(unsigned long long)offset

10、获取当前文件的偏移量

- (unsigned long long)offsetInFile

11、将文件的长度设置为offset字节

- (void)truncateFileAtOffset:(unsigned long long)offset

 关闭文件

- (void)closeFile

P.S. (网络socket中)通过initWithFileDescriptor初始化的对象,需要显式调用此方法;其它方法创建的对象会自动打开文件,该对象被销毁时会自动关闭该方法,不需显式调用此方法。