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 文件管理总结的更多相关文章

  1. iOS - OC NSFileManager 文件管理

    前言 @interface NSFileManager : NSObject @interface NSFileHandle : NSObject <NSSecureCoding> NSF ...

  2. NSFileManager文件管理

    前提,用到的东东: 1.文件数据类:NSData类型(二进制) 1)作用:专门用于将数据封装成二进制的类.数据(文本,图片,音频,视频....)  ==> NSData类型的对象 2)编码方式: ...

  3. 归档NSKeyedArchiver解归档NSKeyedUnarchiver与文件管理类NSFileManager (文件操作)

    ========================== 文件操作 ========================== 一.归档NSKeyedArchiver 1.第一种方式:存储一种数据. // 归档 ...

  4. Swift\本地文件管理

    转载自:http://www.coloroud.com/2015/06/01/Swift-File-Manager/ 开头 看来Swift这趟浑水是非干不可,既然如此,那索性就来的彻底吧,来一次全方位 ...

  5. iOS核心面试题

    1,请简述你对协议的理解?    protocol无论是在那个领域都是一种约束,规范.在OC中的协议主要用于在各个类之间进行回调传值. 协议有 委托方,代理方, 委托方是协议的制定者,需要声明协议的方 ...

  6. iOS开发中常用的单例

    定义:一个类的对象,无论在何时创建.无论创建多少次,创建出来的对象都是同一个对象. 使用场景:当有一些数据需要共享给别的类的时候,就可以把这些数据保存在单例对象中.   关键代码: + (instan ...

  7. 浅谈iOS中的单例模式

    iOS中的单例模式     就我本身理解而言,我认为的单例:单例在整个工程中,就相当于一个全局变量,就是不论在哪里需要用到这个类的实例变量,都可以通过单例方法来取得,而且一旦你创建了一个单例类,不论你 ...

  8. UI基础:DataPersistent.沙盒

    沙盒是系统为每一个应用程序生成的一个特定文件夹,文件夹的名字由一个十六进制数据组成,每一个应用程序的沙盒文件名都是不一样的,是由系统随机生成的. 沙盒主目录: NSString *homePath = ...

  9. IOS开发-视频,音频,录音简单总结

    /***** * 1. 视频播放 * *  @格式:mp4 mov m4v m2v 3gp 3g2 * *  @系统框架使用:#import <MediaPlayer/MediaPlayer.h ...

随机推荐

  1. CAD绘制多行文字

    在CAD设计时,需要绘制多行文字,用户可以设置设置绘制文字的高度等属性. 主要用到函数说明: _DMxDrawX::DrawMText 绘制一个多行文字.详细说明如下: 参数 说明 DOUBLE dP ...

  2. RabbitMQ系列(七)--批量消息和延时消息

    批量消息发送模式 批量消息是指把消息放到一个集合统一进行提交,这种方案设计思路是希望消息在一个会话里,比如放到threadlocal里的集合,拥有相同 的会话ID,带有这次提交信息的size等属性,最 ...

  3. js实现字符串反转

    方案1: var str = "abcdef"; console.log( str.split("").reverse().join("") ...

  4. 【转】上传并解析excel

    [转载自]http://blog.csdn.net/u011563331/article/details/51322523 通过解析excel,将数据存储到数据库中.现在将方法保存下来. 使用的是ap ...

  5. nfs服务权限配置

    nfs服务权限配置 1. 查看系统是否已经安装了服务Rpm -qa | grep nfs 2. 启动服务,并且开机自动运行Systemctl start nfsSystemctl enabled nf ...

  6. 带返回值的线程Callable

  7. 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. ...

  8. C++ 实现Golang里的defer

    不多说了,直接贴代码.就一个hpp文件. 1 #include <functional> 2 3 #define CONCAT_(a, b) a##b 4 #define CONCAT(a ...

  9. 集合:Collection

    why ? when ? how ? what ? Java 集合框架图 由上图我们可以看到,Java 集合主要分为两类:Collection 和 Map. Collection 接口 遍历 Coll ...

  10. 手机端--tap PC端--click

    区别: tap为jq mobile 的方法 1.click与tap都会触发点击事件,但是在手机web端,click会有200-300ms的延迟,所以一般用tap代替click作为点击事件.single ...