Foundation框架中的NSFileManager二
作者:互联网
看官们,我们在前面章回中介绍了Foundation框架中的NSFileManager,本章回中将继续介绍它。
我们在上一章回中主要介绍了目录相关的操作,本章回中主要介绍文件相关的操作。
创建文件
- (BOOL)createFileAtPath:(NSString *)path
contents:(NSData *)data
attributes:(NSDictionary<NSFileAttributeKey, id> *)attr;
该方法可以创建一个文件,如果创建成功就返回YES,否则返回NO,文件的名字和所在的位置位于第一个参数path中,文件的内容位于第二参数data中,文件的属性位于第三个参数attr中,我们通常将其值设置为nil,表示使用系统默认的文件属性。 我的系统上默认文件属性为:-rw-r--r--。通常情况下,如果没有修改系统文件的默认属性,大家看到的文件属性和我的一样,大家可以动手试试 。
删除文件
- (BOOL)removeItemAtPath:(NSString *)path
error:(NSError * _Nullable *)error;
这个方法我们在上一章回中介绍过,使用时只需要把参数path中的目录替换成文件就可以,我们在这里就不详细介绍了,不过在示例代码中我们演示了具体的用法,大家可以参考示例代码。
查找文件是否存在
- (BOOL)fileExistsAtPath:(NSString *)path;
这个方法我们在上一章回中介绍过,使用时只需要把参数path中的目录名替换成文件名就可以,我们在这里就不详细介绍了。 这里强调一下,该方法既可以用来判断目录是否存在也可以判断文件是否存在。
判断文件的属性
- (BOOL)isReadableFileAtPath:(NSString *)path;
- (BOOL)isWritableFileAtPath:(NSString *)path;
- (BOOL)isExecutableFileAtPath:(NSString *)path;
这三个方法用来判断文件的读写和执行属性,这点从方法的名字中也可以看出来,它们的用法相同,使用这些方法时只需要在参数path中指定一个文件,然后通过方法的返回值返回该文件的属性。如果返回值为YES表示文件具有该属性,否则表示文件不具有该属性。
看官们,上面介绍的是NSFileManager类中关于文件操作的方法,接下来我们通过代码来演示如何使用这些方法。下面是具体的代码:
#include<Foundation/Foundation.h>
int main()
{
//创建NSFileManager对象
NSFileManager *fm = [NSFileManager defaultManager];
//创建文件并且判断是否创建成功
NSString *path = @"/Users/wangyuan/code/oc/a.c";
char buffer[5] = "hello";
NSData *data = [[NSData alloc] initWithBytes:buffer length:5];
BOOL result = [fm createFileAtPath:path contents:data attributes:nil];
if(result) {
NSLog(@"create file successfully");
} else {
NSLog(@"create file failed");
}
//判断文件的读写和执行属性
if([fm isReadableFileAtPath:path]) {
NSLog(@"file is readable");
}else {
NSLog(@"file is not readable");
}
if([fm isWritableFileAtPath:path]) {
NSLog(@"file is writable");
}else {
NSLog(@"file is not writable");
}
if([fm isExecutableFileAtPath:path]) {
NSLog(@"file is executable");
}else {
NSLog(@"file is not executable");
}
//删除文件并且判断是否删除成功
result = NO;
result = [fm removeItemAtPath:path error:nil];
if(result) {
NSLog(@"delete file successfully");
} else {
NSLog(@"delete file failed");
}
return 0;
}
在代码中我们添加了相关的注释,以方便大家理解代码。程序中的内容比较少,大家可以直接判断出运行结果,因此我们就不展示程序运行结果了,不过大家一定要自己动手是运行程序,一边分析代码,一边对比程序运行结果是否符合代码逻辑。
最后我们对本章回的内容做一个总结:
- 1.掌握创建、删除、查找文件的方法,在创建或删除文件前最好查找文件是否存在;
- 2.掌握判断文件是否具有读写执行属性的方法,这些方法在程序中经常使用;
- 3.NSFileManager类中还其它操作文件的方法,比如复制、移动等,建议大家查看官方文档;
看官们,本章回的内容就介绍到这里,欲知后事如何且听下回分解!
标签:Foundation,框架,文件,NSLog,NSString,file,NSFileManager,path 来源: https://blog.csdn.net/talk_8/article/details/121060650