[OC Foundation框架 - 23] 文件管理
NSFileManager*manager = [NSFileManagerdefaultManager];//单例模式
// 1.获取文件属性
NSString *path = @"/Users/hellovoidworld/desktop/oc/test20141121.txt";
NSFileManager *manager = [NSFileManagerdefaultManager]; // 单例模式
NSDictionary *attrDic = [manager attributesOfItemAtPath:path error:nil];
NSLog(@"attrDic: %@", attrDic);
// 2.获得目录下的文件与子文件目录列表
NSString *dirPath = @"/Users/hellovoidworld/desktop/oc";
// 只能获取到第一级目录的文件和文件夹(名字)
NSArray *subDirArr = [manager contentsOfDirectoryAtPath:dirPath error:nil];
NSLog(@"subDirArr: %@", subDirArr);
// 包含所有文件、子目录(名字)
NSArray *subPath = [manager subpathsAtPath:dirPath];
NSLog(@"subPath: %@", subPath);
// 3.管理目录
// 创建目录
[manager createDirectoryAtPath:@"/Users/hellovoidworld/desktop/oc/newFolder"withIntermediateDirectories:NOattributes:nilerror:nil];
//withIntermediateDirectories 参数表示要不要创建不存在的所有目录,NO表示只能创建一级目录
// 移动目录
[manager moveItemAtPath:@"/Users/hellovoidworld/desktop/oc/newFolder/existedFolder"toPath:@"/Users/hellovoidworld/desktop/oc/newFolder/movedFolder"error:&error];
// existedFolder会被剪切变成movedFolder,移动到指定位置
// 删除目录
[manager removeItemAtPath:@"/Users/hellovoidworld/desktop/oc/newFolder/deletingFolder"error:nil];
// 拷贝文件
[manager copyItemAtPath:@"/Users/hellovoidworld/desktop/oc/newFolder/copyingFolder"toPath:@"/Users/hellovoidworld/desktop/oc/newFolder/copiedFolder"error:nil];
NSFileManager *fileManager = [NSFileManager defaultManager]; // // 1.获得文件
NSString *path = @"/Users/hellovoidworld/desktop/oc/M2.jpg";
NSData *data = [NSData dataWithContentsOfFile:path]; // 提取数据
NSLog(@"%ld", data.length); NSString *path2 = @"/Users/hellovoidworld/desktop/oc/M2Copy.jpg";
[fileManager createFileAtPath:path2 contents:data attributes:nil]; // 写入数据 // 2.移动文件,相当于剪切操作
NSString *fromPath = @"/Users/hellovoidworld/desktop/oc/M2Copy.jpg";
NSString *toPath = @"/Users/hellovoidworld/desktop/oc/newFolder/M2.jpg";
[fileManager moveItemAtPath:fromPath toPath:toPath error:nil]; // 3.删除文件
[fileManager removeItemAtPath:@"/Users/hellovoidworld/desktop/oc/newFolder/M2.jpg" error:nil];
// NSData是一个不可变长度的Data类型,可以一次性加载文件内容
NSData *data = [NSData dataWithContentsOfFile:@"/Users/hellovoidworld/desktop/oc/newFolder/test.txt"];
NSLog(@"data length = %ld", data.length); // 利用NSData写入文件数据
[data writeToFile:@"/Users/hellovoidworld/desktop/oc/newFolder/test2.txt" atomically:YES]; // NSMutableData
NSMutableData *muData = [[NSMutableData alloc] init]; NSString *str1 = @"我要好好学习!";
NSString *str2 = @"天天向上!";
NSString *str3 = @"今天休息!"; NSDate *data1 = [str1 dataUsingEncoding:NSUTF8StringEncoding];
NSData *data2 = [str2 dataUsingEncoding:NSUTF8StringEncoding];
NSData *data3 = [str3 dataUsingEncoding:NSUTF8StringEncoding]; [muData appendData:data1];
[muData appendData:data2];
[muData appendData:data3]; NSString *muPath = @"/Users/hellovoidworld/desktop/oc/newFolder/mu.txt";
[muData writeToFile:muPath atomically:YES];
[OC Foundation框架 - 23] 文件管理的更多相关文章
- iOS - OC Foundation 框架
前言 框架是由许多类.方法.函数和文档按照一定的逻辑组织起来的集合,以使研发程序更容易. Foundation 框架:为所有程序开发奠定基础的框架称为 Foundation 框架. Cocoa :是指 ...
- OC Foundation框架—集合
Foundation框架—集合 一.NSArray和NSMutableArray (一)NSArray不可变数组 (1)NSArray的基本介绍 NSArray是OC中使用的数组,是面向对象的,以面向 ...
- OC Foundation框架—结构体
一.基本知识 Foundation—基础框架.框架中包含了很多开发中常用的数据类型,如结构体,枚举,类等,是其他ios框架的基础. 如果要想使用foundation框架中的数据类型,那么包含它的主头文 ...
- OC Foundation框架—字符串
一.Foundation框架中一些常用的类 字符串型: NSString:不可变字符串 NSMutableString:可变字符串 集合型: 1) NSArray:OC不可变数组 NSMutableA ...
- [OC Foundation框架 - 20] 统计代码行数
注意: 1.变量名和函数名不要混淆调用 2.不要对文件夹进行文件的操作,没有权限 3.递归调用注意初始化变量 // // main.m // CodeLineCount // // Created ...
- OC — (Foundation框架-NSDate)
NSDate:是OC中处理日期时间的一个类,可以用来表示时间 获取当前的时间 NSDate *d = [NSDate date]; 创建日期时间对象 NSLog输出是当前时间 格林时间 格式化显示时间 ...
- [OC Foundation框架 - 13] NSValue
NSNumber能够包装基本数据类型称为OC对象,是因为继承了NSValue 包装结构体成OC对象 1.自带结构体 void value() { CGPoint point = CGPointMake ...
- [OC Foundation框架 - 12] NSNumber
1.概念 NSArray,NSDictionary只能放OC对象,不能放入基本数据类型 必须使用包装类NSNumber,把基本数据类型包装成OC对象 不支持自动包装解包 void number() ...
- [OC Foundation框架 - 9] NSMutableArray
可变的NSArray,可以随意添加OC对象 1.创建 void arrayCreate() { NSMutableArray *array = [NSMutableArray arrayWithO ...
随机推荐
- mvc+entity framework database first,生成的model每次更新一个表会更新所有的model
在使用Entity Framework 的Database frist或model first时,直接加attribute到modle类上是太现实也不合理的,因为model类是自动生成的,重新生成后会 ...
- codeforces #310 div1 D
一开始写了个暴力模拟绳子的摆动轨迹 然后在Test 16 T掉了 后来%了一下别人的代码,发现需要对特殊情况进行特殊处理 首先我们考虑绳子的向右摆动,设当前位置为p,绳子当前长度为L 如果其旋转中心位 ...
- __init和__exit宏的作用
原文地址:http://blog.csdn.net/zhenwenxian/article/details/8564574 内核的部分函数带有__init和__exit宏,负责“初始化”和“清理收尾” ...
- QPushButton 的checkable 属性
只有setCheckable(true),这个button才能发射 toggle(bool) 信号. 而toggle(bool)代表了button 按下,弹起的状态像0,1的切换开关.
- 分布式搜索Elasticsearch——QueryBuilders.matchPhrasePrefixQuery
注:该文项目基础为分布式搜索Elasticsearch——项目过程(一)和分布式搜索Elasticsearch——项目过程(二),项目骨架可至这里下载. ES源代码中对matchPhrasePrefi ...
- messagePack编解码
首先引入javassist-3.20.0-GA.jar与msgpack-0.6.12.jar两个包,然后就可以使用. package com.ming.netty.code; import java. ...
- 【HDOJ】1667 The Rotation Game
1. 题目描述有个#字型的条带,可以从横线或竖线进行循环移动,求通过各种移动最终使中心的8个字符全等的长度最短并相同长度字典序最小的操作序列.2. 基本思路24个数据,8种移动方式,数据量很小了,所以 ...
- ListView使用CursorAdapter增加和删除item
@Override protected void onCreate(Bundle savedInstanceState) { // TODO 自动生成的方法存根 super.onCreate(save ...
- chrome渲染hover状态tranform相邻元素抖动bug
最近同事在使用 css3 的 transition + tranform 的时候影响了相邻的元素出现bug.或者说相邻的元素出现抖动bug. 然而把 hover 状态的 tranform 属性删了后, ...
- ubuntu程序安装方法
以前一直使用window,今天安装了一个ubuntu系统(如果有同学也想装,建议装英文版的),因为以前ubuntu系统用的不多,所以安装软件就是一个问题. 就以安装chrome来说吧: 1.在Goog ...