Objective-C NSFileManager 文件管理总结
createFileAtPath //创建文件
NSFileManager *fm = [NSFileManager defaultManager];
NSString *strpath = [NSString stringWithFormat:@"%@/file1.txt",NSHomeDirectory()];
NSString *strdata = @"test"; bool bRet = [fm createFileAtPath:strpath contents:strdata attributes:nil];
if(!bRet)
{
NSLog(@"create file error");
}
copyItemAtPath //拷贝文件
NSFileManager *fm = [NSFileManager defaultManager];
NSString *strpath1 = [NSString stringWithFormat:@"%@/file1.txt",NSHomeDirectory()];
NSString *strpath2 = [NSString stringWithFormat:@"%@/file2.txt",NSHomeDirectory()]; bool bRet = [fm copyItemAtPath:strpath1 toPath:strpath2 error:nil];
if(!bRet)
{
NSLog(@"copy file error");
}
moveItemAtPath //移动文件
NSFileManager *fm = [NSFileManager defaultManager];
NSString *strpath1 = [NSString stringWithFormat:@"%@/file1.txt",NSHomeDirectory()];
NSString *strpath2 = [NSString stringWithFormat:@"%@/file2.txt",NSHomeDirectory()]; bool bRet = [fm moveItemAtPath:strpath1 toPath:strpath2 error:nil];
if(!bRet)
{
NSLog(@"move file error");
}
removeItemAtPath //删除文件
NSFileManager *fm = [NSFileManager defaultManager];
NSString *strpath1 = [NSString stringWithFormat:@"%@/file1.txt",NSHomeDirectory()]; bool bRet = [fm removeItemAtPath:strpath1 error:nil];
if(!bRet)
{
NSLog(@"delete file error");
}
attributesOfItemAtPath //获取文件属性, 文件大字。返回NSDictionary
NSFileManager *fm = [NSFileManager defaultManager];
NSString *strpath1 = [NSString stringWithFormat:@"%@/log.txt",NSHomeDirectory()]; NSDictionary *dic = [fm attributesOfItemAtPath:strpath1 error:nil];
NSLog(@"%@",dic);
currentDirectoryPath //获取当前文件夹
NSFileManager *fm = [NSFileManager defaultManager];
NSString *strpath = [fm currentDirectoryPath];
NSLog(@"%@",strpath);
createDirectoryAtPath //创建文件夹
NSFileManager *fm = [NSFileManager defaultManager];
NSString *strpath1 = [NSString stringWithFormat:@"%@/testdir",NSHomeDirectory()];
bool bRet = [fm createDirectoryAtPath:strpath1 withIntermediateDirectories:NO attributes:nil error:nil];
if(!bRet)
{
NSLog(@"create dir error");
}
fileExistsAtPath //推断文件或文件夹是否存在
NSFileManager *fm = [NSFileManager defaultManager];
NSString *strpath1 = [NSString stringWithFormat:@"%@/testdir",NSHomeDirectory()];
bool bRet = [fm fileExistsAtPath:strpath1];
if(!bRet)
{
NSLog(@"no file exist");
}
else
{
NSLog(@"file exist");
}
enumeratorAtPath //枚举文件夹,将子文件夹所有枚举
NSFileManager *fm = [NSFileManager defaultManager];
NSString *strpath1 = [NSString stringWithFormat:@"%@/Desktop",NSHomeDirectory()];
NSDirectoryEnumerator *dirs = [fm enumeratorAtPath:strpath1]; NSString *dir;
while (dir=[dirs nextObject]) {
NSLog(@"%@",dir);
}
contentsOfDirectoryAtPath //枚举文件夹,不枚举子文件夹
NSFileManager *fm = [NSFileManager defaultManager];
NSString *strpath1 = [NSString stringWithFormat:@"%@/Desktop",NSHomeDirectory()];
NSArray *dirs = [fm contentsOfDirectoryAtPath:strpath1 error:nil]; NSString *dir;
for (dir in dirs)
{
NSLog(@"%@",dir);
}
Objective-C NSFileManager 文件管理总结的更多相关文章
- iOS - OC NSFileManager 文件管理
前言 @interface NSFileManager : NSObject @interface NSFileHandle : NSObject <NSSecureCoding> NSF ...
- NSFileManager文件管理
前提,用到的东东: 1.文件数据类:NSData类型(二进制) 1)作用:专门用于将数据封装成二进制的类.数据(文本,图片,音频,视频....) ==> NSData类型的对象 2)编码方式: ...
- 归档NSKeyedArchiver解归档NSKeyedUnarchiver与文件管理类NSFileManager (文件操作)
========================== 文件操作 ========================== 一.归档NSKeyedArchiver 1.第一种方式:存储一种数据. // 归档 ...
- Swift\本地文件管理
转载自:http://www.coloroud.com/2015/06/01/Swift-File-Manager/ 开头 看来Swift这趟浑水是非干不可,既然如此,那索性就来的彻底吧,来一次全方位 ...
- iOS核心面试题
1,请简述你对协议的理解? protocol无论是在那个领域都是一种约束,规范.在OC中的协议主要用于在各个类之间进行回调传值. 协议有 委托方,代理方, 委托方是协议的制定者,需要声明协议的方 ...
- iOS开发中常用的单例
定义:一个类的对象,无论在何时创建.无论创建多少次,创建出来的对象都是同一个对象. 使用场景:当有一些数据需要共享给别的类的时候,就可以把这些数据保存在单例对象中. 关键代码: + (instan ...
- 浅谈iOS中的单例模式
iOS中的单例模式 就我本身理解而言,我认为的单例:单例在整个工程中,就相当于一个全局变量,就是不论在哪里需要用到这个类的实例变量,都可以通过单例方法来取得,而且一旦你创建了一个单例类,不论你 ...
- UI基础:DataPersistent.沙盒
沙盒是系统为每一个应用程序生成的一个特定文件夹,文件夹的名字由一个十六进制数据组成,每一个应用程序的沙盒文件名都是不一样的,是由系统随机生成的. 沙盒主目录: NSString *homePath = ...
- IOS开发-视频,音频,录音简单总结
/***** * 1. 视频播放 * * @格式:mp4 mov m4v m2v 3gp 3g2 * * @系统框架使用:#import <MediaPlayer/MediaPlayer.h ...
随机推荐
- CAD绘制多行文字
在CAD设计时,需要绘制多行文字,用户可以设置设置绘制文字的高度等属性. 主要用到函数说明: _DMxDrawX::DrawMText 绘制一个多行文字.详细说明如下: 参数 说明 DOUBLE dP ...
- RabbitMQ系列(七)--批量消息和延时消息
批量消息发送模式 批量消息是指把消息放到一个集合统一进行提交,这种方案设计思路是希望消息在一个会话里,比如放到threadlocal里的集合,拥有相同 的会话ID,带有这次提交信息的size等属性,最 ...
- js实现字符串反转
方案1: var str = "abcdef"; console.log( str.split("").reverse().join("") ...
- 【转】上传并解析excel
[转载自]http://blog.csdn.net/u011563331/article/details/51322523 通过解析excel,将数据存储到数据库中.现在将方法保存下来. 使用的是ap ...
- nfs服务权限配置
nfs服务权限配置 1. 查看系统是否已经安装了服务Rpm -qa | grep nfs 2. 启动服务,并且开机自动运行Systemctl start nfsSystemctl enabled nf ...
- 带返回值的线程Callable
- NOIP 2018 真・退役记
目录 NOIp 2018 真・退役记 7.01 7.05 \(summary\) 7.12 7.18 7.26 - 7.27 8.2 8.3 8.3 8.7 8.9 8.20 8.24 8.27 8. ...
- C++ 实现Golang里的defer
不多说了,直接贴代码.就一个hpp文件. 1 #include <functional> 2 3 #define CONCAT_(a, b) a##b 4 #define CONCAT(a ...
- 集合:Collection
why ? when ? how ? what ? Java 集合框架图 由上图我们可以看到,Java 集合主要分为两类:Collection 和 Map. Collection 接口 遍历 Coll ...
- 手机端--tap PC端--click
区别: tap为jq mobile 的方法 1.click与tap都会触发点击事件,但是在手机web端,click会有200-300ms的延迟,所以一般用tap代替click作为点击事件.single ...