[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 ...
随机推荐
- gcc: error trying to exec 'cc1plus': execvp: 没有该文件或目录 解决方案
一般来说,装完linux系统(ubuntu)后,要自己安装java或者c/c++的环境. 这个提示就是说你的系统缺少 g++ 包. 请执行:sudo apt-get install g++ (在ub ...
- 垃圾收集器GC的种类
堆内存的结构:
- Cobalt Strike
http://www.77169.com/hack/201512/222080.shtm
- System.Drawing.Design.UITypeEditor自定义控件属性GetEditStyle(ITypeDescriptorContext context),EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value)
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.C ...
- Java面试题-多线程
1. java中有几种方法可以实现一个线程? 多线程有两种实现方法,分别是继承Thread类与实现Runnable接口. 这两种方法的区别是,如果你的类已经继承了其它的类,那么你只能选择实现Runna ...
- volicety常用方法
1.volicety得到某个元素的个数 $extendsInfos.size() 2.volicety 布尔值判断: 如果a为null,#if($a) ,产生的判断值是false 等同于#if(fa ...
- TreeList 实现多表头
1. 先上图: 2. 再上代码: 原码
- Spring data rest 如何显示主键
How to expose the resourceId with Spring-Data-Rest? Spring-Data-Rest is a quite new project in the S ...
- oracle 字段上下两条记录的相减
SELECT T.ID ,BALANCE,nvl(lag (BALANCE,1) over (order by T.ID ) ,0) FROM AN T ORDER BY T.ID [转]orac ...
- Ext入门学习系列(四)面板控件
第四章 使用面板 上节学习了Ext复杂对话框,更进一步了解了Ext的运行机制.本章重点来了解Ext所有控件的基础——面板控件. 一.Ext的面板是什么? 同样先来看看几个效果: 基本面板,点击右上角小 ...