Objective-C( Foundation框架 一 NSFileManager)
NSFileManager
用来管理文件系统的
它可以用于常见的文件,文件夹操作(拷贝,剪切,创建)
NSFileManager使用了单例模式(Singleton)
使用defaultManager可以获得那个单例对象:[NSFileManager defaultManager];
NSFileManager用于判断
// 创建一个文件,且内容为hahdhahkf
NSString *arr = @"hahdhahkf";
[arr writeToFile: @"/Users/cloudwalk/Desktop/arr.plist" atomically:YES encoding:NSUTF8StringEncoding error:nil];
// NSFileManager用于判断
NSString *filepath = @"/Users/cloudwalk/Desktop/arr.plist";
// 判断文件是否存在
// 调用defaultManagr 创建一个文件管理的单例模式
// 单例模式,在程序运行期间,只有一个对象存在
NSFileManager *manager = [NSFileManager defaultManager];
//文件是否存在,存在返回1,不存在返回0
BOOL isYES = [manager fileExistsAtPath:filepath];
NSLog(@"%d",isYES); // 文件是否可读
isYES = [manager isReadableFileAtPath:filepath];
NSLog(@"%d",isYES); // 文件是否可写
isYES = [manager isWritableFileAtPath:filepath];
NSLog(@"%d",isYES);
判断是否是目录
NSString *str = @"dsahgifg";
[str writeToFile:@"/Users/cloudwalk/Desktop/strr,plist" atomically:YES encoding:NSUTF8StringEncoding error:nil];
NSString *filePath = @"/Users/cloudwalk/Desktop/strr,plist"; NSFileManager *manager = [NSFileManager defaultManager];
// 文件是否存在,,存在返回1,不存在返回0
BOOL isYes = [manager fileExistsAtPath:filePath];
NSLog(@"%d",isYes); if (isYes)
{
BOOL isDir;
// 判断是不是目录
[manager fileExistsAtPath:filePath isDirectory:&isDir]; if (isDir) {
NSLog(@"shi");
}else{
NSLog(@"bushi");
}
}
获取文件信息
NSFileManager *fm = [NSFileManager defaultManager];
NSString *filepath = @"/Users/cloudwalk/Desktop/test.plist";
NSString *dirPath = @"/Users/cloudwalk/Desktop/gaoli/代码/";
// 如何获得文件信息(属性)
NSDictionary *dy = [fm attributesOfItemAtPath:filepath error:nil];
NSLog(@"%@",dy);
NSLog(@"%@ %@",[dy objectForKey:@"NSFileOwnerAccountName"], dy[@"NSFileOwnerAccountName"]); // 获取指定目录下文件及子目录
// 使用递归的方式,获取当前所有文件夹及子目录下的文件
NSArray *subPaths = [fm subpathsAtPath:dirPath];
NSLog(@"subPaths = %@",subPaths);
// 不使用递归的方式,获取当前所有文件夹及子目录下的文件
subPaths = [fm subpathsOfDirectoryAtPath:dirPath error:nil];
NSLog(@"subPaths = %@",subPaths);
// 获取指定目录下文件信息(不再获取子目录下文件)
subPaths = [fm contentsOfDirectoryAtPath:dirPath error:nil];
NSLog(@"subPaths = %@",subPaths);
创建目录,文件,copy文件,移动文件,删除文件
// 创建文件管理对象
NSFileManager *fm = [NSFileManager defaultManager]; // 创建路径
NSString *createPath = @"/Users/cloudwalk/Desktop/aaa/win.txt"; // 创建目录是否成功
//fm createDirectoryAtPath:@"路径" withIntermediateDirectories:YES会创建缺失的目录/NO不会创建缺失的目录 attributes:nil error:错误对象
BOOL isYES =[fm createDirectoryAtPath:createPath withIntermediateDirectories:YES attributes:nil error:nil];
if (isYES) {
NSLog(@"成功");
} // 如何创建文件
NSString *str = @"我一定会考进HEIMA";
NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding];
BOOL isYes;
//fm createFileAtPath:@"路径" contents:NSData类型的数据/处理二进制数据的类 attributes:文件的属性的字典NSDictionary
isYes = [fm createFileAtPath:createPath contents:data attributes:nil];
if (isYes) {
NSLog(@"%d",isYes);
}
// copy文件
NSString *targetPath = @"/Users/cloudwalk/Desktop/gaoli/haha.txt";
isYes = [fm copyItemAtPath:createPath toPath:targetPath error:nil];
NSLog(@"%d",isYes); // 移动文件
NSString *targetPath = @"/Users/cloudwalk/Desktop/haha.txt";
[fm moveItemAtPath:createPath toPath:targetPath error:nil]; // 删除文件
NSString *targetPath = @"/Users/cloudwalk/Desktop/haha.txt";
[fm removeItemAtPath:targetPath error:nil];
NSFileManager 文件下载思路
1.发送请求给服务器,要求下载某个文件
2.服务器发出响应,返回文件数据
3.手机客户端利用NSData来存放服务器返回的文件数据
4.利用NSFileManager将NSData里面的文件数据写到新的文件中(createFilecreateFileAtPath)
Objective-C( Foundation框架 一 NSFileManager)的更多相关文章
- Objective - c Foundation 框架详解2
Objective - c Foundation 框架详解2 Collection Agency Cocoa provides a number of collection classes such ...
- Objective-C( Foundation框架 一 常见的结构体)
常见的结构体 (NSPoint,CGPoint).(NSRange,CGRange).(NSSize,CGSize) 苹果官方推荐使用CG开头的结构体 NSRange是Foundation框架中常见的 ...
- iOS开发系列—Objective-C之Foundation框架
概述 我们前面的章节中就一直新建Cocoa Class,那么Cocoa到底是什么,它和我们前面以及后面要讲的内容到底有什么关系呢?Objective-C开发中经常用到NSObject,那么这个对象到底 ...
- Objective-C语言Foundation框架
Mac OS X开发会使用Cocoa框架,它是一种支持应用程序提供丰富用户体验的框架,它实际上由:Foundation和Application Kit(AppKit)框架组成.iOS开发,会使用Coc ...
- iOS - OC Foundation 框架
前言 框架是由许多类.方法.函数和文档按照一定的逻辑组织起来的集合,以使研发程序更容易. Foundation 框架:为所有程序开发奠定基础的框架称为 Foundation 框架. Cocoa :是指 ...
- iOS - Swift Foundation 框架
前言 框架是由许多类.方法.函数和文档按照一定的逻辑组织起来的集合,以使研发程序更容易. Foundation 框架:为所有程序开发奠定基础的框架称为 Foundation 框架. Cocoa :是指 ...
- iOS Foundation 框架概述文档:常量、数据类型、框架、函数、公布声明
iOS Foundation 框架概述文档:常量.数据类型.框架.函数.公布声明 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业 ...
- Foundation框架的小总结
一.Foundation框架—结构体 一.基本知识 Foundation框架中包含了很多开发中常用的数据类型,如结构体,枚举,类等,是其他ios框架的基础. 如果要想使用foundation框架中的数 ...
- OC 知识:Foundation 框架及相关类详尽总结
本文用来介绍Foundation框架的相关知识,以及Foundation框架所提供类的相关知识总结. 1. 框架介绍 框架是由很多类.方法.函数和文档按照一定的逻辑组织起来的集合,以使开发程序变得更加 ...
随机推荐
- ASP.net如何保证EF操作类线程内唯一
说到线程内唯一,肯定会想到单例模式,但是如果多用户访问网站就会出现问题.ASP.net中有两种方法可以保证EF操作类线程内唯一(目前只会这两种,以后有好的方法再添加): 1.httpcontext(实 ...
- 回归分析法&一元线性回归操作和解释
用Excel做回归分析的详细步骤 一.什么是回归分析法 "回归分析"是解析"注目变量"和"因于变量"并明确两者关系的统计方法.此时,我们把因 ...
- blue and red ball
#include<iostream> #include<cstring> using namespace std; int sum; ]; int n; int head; i ...
- Android Device Monitor工具的DDMS使用
Dalvik Debug Monitor Server(DDMS)是主要的Android调试工具之一 1.打开android studio->tools->android device m ...
- 图像预处理第9步:存为.bmp文件
//图像预处理第9步:将最终标准化后的字符图像分为单个单个的HDIB保存,并存为.bmp文件 void CChildView::OnImgprcToDibAndSave() { unsigned ch ...
- 【Java】集合_学习笔记
一.集合 1.集合类也称容器类,主要负责保存.盛装其他数据. 2.集合可以保存数量不确定的数据,保存具有映射关系的数据(也称关联数组). 3.Java5后提供一些多线程安全的集合类,放在java.ut ...
- hub config
@echo off title Selenium_Hub cd /d %~dp0 java -jar selenium-server-standalone-2.48.2.jar -role hub - ...
- 虚拟centos7 用ssh登录
在虚拟机(Vmware Workstation)下,安装了CentOS7,现在想通过SSH工具连接虚拟机中的CentOS7 1. 首先,要确保CentOS7安装了 openssh-server,在 ...
- native vlan(本征VLAN)
其实就是不打tag的VLAN,因为你想,一个VLAN在经过交换设备老是打tag,然后再脱掉tag...这个很浪费计算资源,尤其是在转发的报文量相当大的时候. 如何解决: 可以定义一种vlan, ...
- Hadoop在eclipse中的配置
在安装完linux下的hadoop框架,实现完所现有的wordCount程序,能够完美输出结果之后,我们开始来搭建在window下的eclipse的环境,进行相关程序的编写. 在网上有很多未编译版本, ...