文件本身操作NSManager
来源:互联网 发布:足球怎么过人知乎 编辑:程序博客网 时间:2024/06/05 20:48
文件操作分两个部分:
1.对文件本身的操作,类:NSManager :提供方法让我们在程序中对文件本体进行操作。我们可以对文件查看,删除,复制,拷贝,创建······
2.对文件内容的操作,类:NSHandle
查看某个文件或文件夹下的目录
浅度遍历
我们只能看出文件或文件夹的名字,并不能知道文件或文件夹的内容
#import <Foundation/Foundation.h>#define PATH @"/Users/apple/Desktop/文件"int main(int argc, const char * argv[]) { @autoreleasepool { //创建一个file manager的对象 NSFileManager *fm=[NSFileManager defaultManager]; //查看一个目录下有哪些文件或文件夹 NSError *error=nil; NSArray *array=[fm contentsOfDirectoryAtPath:PATH error:&error]; //第一个参数是文件的路径,第二个参数用于报错,指针地址 //这个方法获得了文件和文件加的名字会把他们装入一个数组里,所以返回值是数组的地址 if(error) { NSLog(@"%@",error); exit(-1);//如果出错,就退出程序 } NSLog(@"%@",array);//如果成功,就打印输出文件和文件夹名 } return 0;}
输出内容为:
".DS_Store", ".git", "Person.h", "Person.m", "\U6587\U4ef6", "\U6587\U4ef6.xcodeproj"
深度遍历
深度遍历会输出文件或文件夹中的内容
NSArray *array=[fm subpathsOfDirectoryAtPath:PATH error:&error]; if(error) { NSLog(@"%@",error); exit(-1);//如果出错,就退出程序 } NSLog(@"%@",array);//如果成功,就打印输出文件和文件夹名
输出结果为:(太长了,我们取其一小部分展示)
".DS_Store", ".git", ".git/COMMIT_EDITMSG", ".git/config", ".git/description", ".git/HEAD", ".git/hooks", ".git/hooks/README.sample", ".git/index", ".git/info", ".git/info/exclude", ".git/logs", ".git/logs/HEAD", ".git/logs/refs", ".git/logs/refs/heads", ".git/logs/refs/heads/master", ".git/objects", ".git/objects/02", ".git/objects/02/b88cf973a4987b9c767360c0bcd5533a5e4b8e", ".git/objects/11", ".git/objects/11/eab4490955d5d7d657eac9e90c3f09fa3d26bb", ".git/objects/51", ".git/objects/51/328eca31c7088ae7d6f547ebe0a29bc0893411", ".git/objects/64", ".git/objects/64/7c3e4a8cee801d89d140b76d904dcb09d5a46d", ".git/objects/6f",
新建目录
使用方法:createDirectoryAtPath:(nonnull NSString ) withIntermediateDirectories:(BOOL) attributes:(nullable NSDictionary
[fm createDirectoryAtPath:[NSString stringWithFormat:@"%@/SSL",PATH] withIntermediateDirectories:NO attributes:nil error:&error]; //在指定路径下创建一个目录,第一个参数:以字符串形式输入文件名,逗号后为路径。第二个参数为YES(有中间路径)NO(无中间路径),例子中无中间路径。如果有中间目录,则为YES,如果本来没有,则系统会自己创建一个,也就是说,这里会创建两个目录,一个中间的目录,中间目录中又会创建一个新目录SSL出来。 if(error) { NSLog(@"%@",error); exit(-1);//如果出错,就退出程序 }
新建文件
[fm createFileAtPath:[NSString stringWithFormat:@"%@/SSL/file",PATH] contents:[@"hello" dataUsingEncoding:NSUTF8StringEncoding] attributes:nil]; //创建一个文件。第一个参数:创建路径,在SSL下创建一个名为file的文件;第二个参数为内容,因为要求NSData,所以输入字符串要用方法:dataUsingEncoding;第三个参数:填nil表示默认的属性
删除文件或目录
[fm removeItemAtPath:[NSString stringWithFormat:@"%@/SSL",PATH] error:&error]; //方法removeItemAtPath文件和目录都可以删除.第一个参数:路径;第二个参数:报错 if(error) { NSLog(@"%@",error); exit(-1);//如果出错,就退出程序 }
拷贝文件或目录
[fm copyItemAtPath:[NSString stringWithFormat:@"%@/SSL",PATH] toPath:[NSString stringWithFormat:@"%@/SSL2",PATH] error:&error]; if(error) { NSLog(@"%@",error); exit(-1);//如果出错,就退出程序 } //第一个参数:要复制的文件的名字目录,路径;第二个参数:复制成的文件名,路径;第三个参数:报错
剪切文件或目录
[fm moveItemAtPath:[NSString stringWithFormat:@"%@/SSL",PATH] toPath:[NSString stringWithFormat:@"%@/SSL2/SSL",PATH] error:&error]; //第一个参数:要剪切的文件的名字目录,路径;第二个参数:剪切到的文件名,剪切成的文件名,路径;第三个参数:报错 if(error) { NSLog(@"%@",error); exit(-1);//如果出错,就退出程序 }
阅读全文
0 0
- 文件本身操作NSManager
- 【黑马程序员】oc中的NSManager文件操作
- PHP 文件本身操作
- exe操作本身
- JS文件本身编码转换
- (38)FileReader读取文件本身
- 【Windows XP系统本身功能隐藏文件】
- 使用telnet 协议本身上传文件
- sql server 2005数据库关于数据库本身结构的操作
- 如何对字符串本身进行操作来实现逆向输出
- MySQL基本命令(1)-数据库本身的操作
- 涉及MySQL工具本身的几个常用命令行操作
- 关于Hibernate或者java本身文件编码错误的问题?
- JAVA获取文件本身所在的磁盘位置
- 利用pb本身的功能,反编译pbd文件中的dw
- 利用pb本身的功能,反编译pbd文件中的dw
- 在js文件中获取本身加载时的绝对路径
- 输出程序文件本身及删除程序中的注释
- Power Strings (kmp中next数组的运用)
- C语言指针的形象理解-----/*自己编写*/
- 记一次MySQL使用外网IP连接超时
- 经典JUnit测试
- [YTU]_2354 (实现复数类中的加运算符重载【C++运算符重载】)
- 文件本身操作NSManager
- Android_UI:Activity
- vue--computed
- 选择排序
- MFC:工具栏不显示图标
- B 同花顺
- SQL行转列汇总
- HDU1083 最大二分匹配
- [YTU]_2535( C++复数运算符重载(+与<<))