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 ...
随机推荐
- Java学习4_一些基础4_输入输出_16.5.7
读取输入: 想从控制台进行输入,首先需要构造一个Scanner对象,并与“标准输入流”System.in关联. Scanner in=new Scanner(System.in); String na ...
- vue城市三级联动组件 vue-area-linkage
Install the pkg with npm: // v5之前的版本 npm i --save vue-area-linkage // v5及之后的版本 npm i --save vue-area ...
- eclipse 中为 java 项目生成 API 文档、JavaDoc
当我们的项目很大,编写了很多代码的时候,就需要生成一个标准的 API 文档,让后续的开发人员,或者合作者可以清晰的了解您方法的使用. 1.点击 eclipse 的 Project 菜单,选择 Gene ...
- Django-REST-Framework JWT 实现SSO认证(下)
在上一篇博客中,我已经对JSON Web 认证做了简单的解释,这篇博客是续篇,若不了解,请看上一篇博客:https://www.cnblogs.com/yushenglin/p/10863184.ht ...
- Spring 工厂方法创建Bean 学习(三)
1, 静态工厂方法创建Bean 调用静态工厂方法创建 Bean是将对象创建的过程封装到静态方法中. 当客户端需要对象时, 只需要简单地调用静态方法, 而不同关心创建对象的细节. 要声明通过静态方法创建 ...
- HDU 4780 Candy Factory
Candy Factory Time Limit: 2000ms Memory Limit: 32768KB This problem will be judged on HDU. Original ...
- 九度oj 题目1078:二叉树遍历
题目1078:二叉树遍历 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:5326 解决:3174 题目描述: 二叉树的前序.中序.后序遍历的定义: 前序遍历:对任一子树,先访问跟,然后遍历 ...
- HDU 1561 树形DP背包问题
这是自己第一道背包上树形结构问题,不是很理解这个概念的可以先看看背包九讲 自己第一次做,看了一下别人的思路,结合着对简单背包问题的求解方式自己一次AC了还是有点小激动的 题目大意是: 攻克m个城市,每 ...
- tyvj1271 零式求和
描述 请考虑一个由1到N(N=3, 4, 5 ... 9)的数字组成的递增数列:1 2 3 ... N.现在请在数列中插入“+”表示加,或者“-”表示减,抑或是“ ”表示空白(例如1-2 3就等于1- ...
- ISO和焦距
要说什么是ISO还要从传统胶片相机说起,ISO称作为感光度,它是衡量传统相机所使用胶片感光速度的国际统一指标,其反映了胶片感光时的速度(其实是银元素与光线的光化学反应速率).而对于现在并不使用胶片的数 ...