1、创建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
2、文件操作类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初始化的对象,需要显式调用此方法;其它方法创建的对象会自动打开文件,该对象被烧毁时会自动关闭该方法,不需显式调用此方法。