- . NSFileManager是Foundation框架中的1个类.
- 作用: 用来操作磁盘上的文件和文件夹的.
- 新建 修改 删除 移动 拷贝文件夹或者文件.
创建NSFileManager对象.
NSFileManager是1个单例对象.
- 如何去创建1个NSFileManager的单例对象呢?
调用这个类的类方法
- (NSFileManager *)defaultManager;
- 就可以得到这个NSFileManager类的单例对象.
. 常用方法之–判断.
. 判断指定的文件或者文件夹在磁盘上是否真实的存在
- . - (BOOL)fileExistsAtPath:(NSString *)path;
.判断指定的路径是否真实的存储在我们的磁盘之上,并且判断这个路径是1个文件夹路径还是1个文件路径.
- .- (BOOL)fileExistsAtPath:(NSString )path isDirectory:(BOOL )isDirectory;
- 返回值:代表这个路径是否真实存在.
- 参数指针: 代表这个路径是否是1个文件夹路径
- .- (BOOL)fileExistsAtPath:(NSString )path isDirectory:(BOOL )isDirectory;
. 判断指定的文件夹或者文件是否可以读取.
- .- (BOOL)isReadableFileAtPath:(NSString *)path;
. 判断指定的文件夹或者文件是否可以写入.
- .- (BOOL)isWritableFileAtPath:(NSString *)path;
- . 判断指定的文件夹或者文件是否可以删除.
- . - (BOOL)isDeletableFileAtPath:(NSString *)path
. 获取信息
.获取指定文件或者文件夹的属性信息.
- . - (NSDictionary )attributesOfItemAtPath:(NSString )path error:(NSError **)error
- 返回的是1个字典,如果要拿到特定的信息 通过key
- . - (NSDictionary )attributesOfItemAtPath:(NSString )path error:(NSError **)error
.获取指定目录下的所有的文件和目录. 是拿到指定目录下的所有的文件和目录 所有的后代目录和文件.
- . - (NSArray )subpathsAtPath:(NSString )path;
.获取指定目录下的所有的子目录和文件 不包括孙子辈.
- . - (NSArray )contentsOfDirectoryAtPath:(NSString )path error:(NSError **)error
显示或者隐藏 隐藏文件.
早期的OS X(10.6~10.8)系统可以使用如下两条命令来开始或者关闭系统隐藏文件的显示:
- defaults write com.apple.Finder AppleShowAllFiles Yes && killall Finder //显示隐藏文件
- defaults write com.apple.Finder AppleShowAllFiles No && killall Finder //不显示隐藏文件
当升级到OS X 10.9 Mavericks版本之后,这两条命令需要做一些修改,变成了如下命令:
- defaults write com.apple.finder AppleShowAllFiles Yes && killall Finder //显示隐藏文件
- defaults write com.apple.finder AppleShowAllFiles No && killall Finder //不显示隐藏文件
. 创建
. 在指定的目录创建文件.
.- (BOOL)createFileAtPath:(NSString )path contents:(NSData )data attributes:(NSDictionary *)attr
- 第1个参数: 要创建的文件的路径.
- 第2个参数: 这个文件的内容. 要传递这个文件的二进制格式.
这个二进制的数据格式 使用NSData对象来封装.
任意的文件在磁盘上都是以二进制的形式存储的. 所以要创建1个文件就必须要指定这个文件的二进制内容.
NSData对象: 是专门用来存储二进制数据的.
字符串有1个方法,可以将字符串的内容转换为二进制.
将字符串转换为NSData二进制的方式.调用字符串对象的
. - (NSData *)dataUsingEncoding:(NSStringEncoding)encoding
- 编码参数: NSUTF8StringEncoding
- 指定1个编码 就可以将字符串转换为二进制数据 存储在NSData对象之中.
- 编码参数: NSUTF8StringEncoding
最后再将这个二进制对象通过这个方法写入.
如果想创建1个空文件 第2个参数就给nil
第3个参数: 指定创建的文件的属性.如果想要使用系统的默认值使用nil
. 在指定的目录创建文件夹.
. - (BOOL)createDirectoryAtPath:(NSString )path withIntermediateDirectories:(BOOL)createIntermediates attributes:(NSDictionary )attributes error:(NSError **)error
- 第1个参数: 路径.
- 第2个参数: YES,做一路创建. 如果是NO就不会做一路创建.
- 第3个参数: 指定属性 nil为系统默认属性.
- 第4个参数.
- .拷贝文件.
- . - (BOOL)copyItemAtPath:(NSString )srcPath toPath:(NSString )dstPath error:(NSError **)error
- .移动文件 剪切 文件的重命名.
- . - (BOOL)moveItemAtPath:(NSString )srcPath toPath:(NSString )dstPath error:(NSError **)error
- 文件的重命名: 将文件移动到当前目录下 移动后改名字.
- . - (BOOL)moveItemAtPath:(NSString )srcPath toPath:(NSString )dstPath error:(NSError **)error
.删除文件.
. - (BOOL)removeItemAtPath:(NSString )path error:(NSError *)error
- 注意 删除的文件不会倒废纸篓 而是直接删除,所以请小心使用.