NSFileManeger
#define PATH @"/Users/wenhua/testdir"
// 删除, 复制 剪切 这些行为都是管理文件的行为
//创建文件
void createFile(void)
{
//文件管理器类, 一个app中只需要一个这样的管理器对象,即单例
NSFileManager *fm =[NSFileManager defaultManager];
//创建文件
// fm createFileAtPath:<#(NSString *)#> contents:<#(NSData *)#> attributes:<#(NSDictionary *)#>
[fm createFileAtPath:[NSString stringWithFormat:@"%@%@",PATH,@"/first.txt"] contents:[@"abcde" dataUsingEncoding:NSUTF8StringEncoding] attributes:nil];
}
//创建文件夹
void createDir(void)
{
//文件管理器类, 一个app中只需要一个这样的管理器对象,即单例
NSFileManager *fm =[NSFileManager defaultManager];
//创建文件夹
// fm createDirectoryAtPath:<#(NSString *)#> withIntermediateDirectories:<#(BOOL)#> attributes:<#(NSDictionary *)#> error:<#(NSError *__autoreleasing *)#>
NSError *error=nil;
[fm createDirectoryAtPath:[NSString stringWithFormat:@"%@%@",PATH,@"/middle/newdir"] withIntermediateDirectories:YES attributes:nil error:&error];
if (error!=nil) {
NSLog(@"%@",error);
return;
}
}
//删除文件
void rmFile(void)
{
//文件管理器类, 一个app中只需要一个这样的管理器对象,即单例
NSFileManager *fm =[NSFileManager defaultManager];
//删除
// fm removeItemAtPath:<#(NSString *)#> error:<#(NSError *__autoreleasing *)#>
NSError *error=nil;
[fm removeItemAtPath:[NSString stringWithFormat:@"%@%@",PATH,@"/first.txt"] error:&error];
if (error) {
NSLog(@"%@",error);
}
}
//复制文件
void cpFile(void)
{
//文件管理器类, 一个app中只需要一个这样的管理器对象,即单例
NSFileManager *fm =[NSFileManager defaultManager];
//复制
// fm copyItemAtPath:<#(NSString *)#> toPath:<#(NSString *)#> error:<#(NSError *__autoreleasing *)#>
NSError* error=nil;
//复制文件
[fm copyItemAtPath:@"/Users/xiaozai/Desktop/test.plist" toPath:[NSString stringWithFormat:@"%@%@",PATH,@"/test.plist"] error:&error];
if (error) {
NSLog(@"%@",error);
}
//复制文件夹
[fm copyItemAtPath:@"/Users/xiaozai/Desktop/deskdir" toPath:[NSString stringWithFormat:@"%@%@",PATH,@"/deskdir"] error:&error];
if (error) {
NSLog(@"%@",error);
}
}
//剪切文件
void mvFile(void)
{
//剪切,移动
// fm moveItemAtPath:<#(NSString *)#> toPath:<#(NSString *)#> error:<#(NSError *__autoreleasing *)#>
//文件管理器类, 一个app中只需要一个这样的管理器对象,即单例
NSFileManager *fm =[NSFileManager defaultManager];
NSError *error=nil;
[fm moveItemAtPath:[NSString stringWithFormat:@"%@%@",PATH,@"/test.plist"] toPath:@"/Users/xiaozai/Desktop/test.plist" error:&error];
if (error) {
NSLog(@"%@",error);
}
[fm moveItemAtPath:[NSString stringWithFormat:@"%@%@",PATH,@"/deskdir"] toPath:@"/Users/xiaozai/Desktop/deskdir" error:&error];
if (error) {
NSLog(@"%@",error);
}
}
// 文件是否存在于某个路径
bool isFileExistAtPath()
{
NSString *path = [NSString stringWithFormat:@"%@/file.zip", NSHomeDirectory()];
NSFileManager *fm = [ NSFileManager defaultManager];
return [fm fileExistsAtPath:path];
}
// 若创建未出错,那一定就会返回TRUE了
//遍历某个目录
void travelListDir(void)
{
NSFileManager *fm = [ NSFileManager defaultManager];
NSError* error=nil;
// 浅层遍历目录
NSArray* retArray =[fm contentsOfDirectoryAtPath:PATH error:&error];
if (error) {
NSLog(@"%@",error);
}
NSLog(@"retArray:%@",retArray);
// 深层遍历目录
NSArray * array2= [fm subpathsOfDirectoryAtPath:@"/Users/wenhua/work/oc/19day" error:&error];
NSEnumerator * enumerator = [ array2 objectEnumerator];
id obj;
while (obj=[enumerator nextObject]) {
NSLog(@"%@",obj);
}
}
void otherMethods(void)
{
NSFileManager *fm = [ NSFileManager defaultManager];
//获取app的当前工作路径
NSLog(@"本程序的当前工作路径为:%@",[fm currentDirectoryPath]);
//传一个文件(夹)的绝对路径,得到一个文件(夹)名
NSLog(@"%@",[fm displayNameAtPath:PATH]);
}
NSFileManeger的更多相关文章
随机推荐
- vue之watch用法
对应一个对象,键是观察表达式,值是对应回调.值也可以是方法名,或者是对象,包含选项.在实例化时为每个键调用 $watch() ; //使用官方vue-cli脚手架书写<template> ...
- js中的正则表达式使用
function myValid() { var errorMsg = ""; var res = true; //拿到要验证的值. var receiveName = $(&qu ...
- 检索 COM 类工厂中 CLSID 为 {28E68F9A-8D75-11D1-8DC3-3C302A000000} 的组件失败,原因是出现以下错误: 80040154 没有注册类 (异常来自 HRESULT:0x80040154 (REGDB_E_CLASSNOTREG))
Resvr32 .net中引用控件的名称 如果注册成功,问题不在出现 但是如果是在x64位的系统中,即使控件注册成功,错误依照提示,是因为大多数第三方写的COM控件,只支持32位的系统, 在VS中找到 ...
- Extjs 回车查询
listeners: { afterRender: function (thisForm, options) { this.keyNav = Ext.create('Ext.util.KeyNav', ...
- 疯狂Android讲义 - 学习笔记(一)
常用开发工具的用法 android : 启动Android SDK管理器 android --help 查看具体用法 android create avd -n t10 -t 10 -b armea ...
- PyMySQL Evaluation
PyMySQL Evaluation This page will capture issues related to Openstack moving to the PyMySQL driver f ...
- Java并发编程:并发容器之CopyOnWriteArrayList(转载)
Java并发编程:并发容器之CopyOnWriteArrayList(转载) 原文链接: http://ifeve.com/java-copy-on-write/ Copy-On-Write简称COW ...
- postgreSQL绝对值
select * from t where flag=1 order by abs(index) desc
- JVM基本原理
第一节 JVM内存模型 •堆栈简称栈,主要提供以下用途: –保存临时数据 –放置临时变量(局部.自动.堆栈) –保存调用现场 –方法返回值的传递 •堆主要提供以下用途: –存放对象(GC对象) –存放 ...
- Python Sqlite3以字典形式返回查询结果
sqlite3本身并没有像pymysql一样原生提供字典形式的游标. cursor = conn.cursor(pymysql.cursors.DictCursor) 但官方文档里已经有预留了相应的实 ...