NSFileManager 的基本使用方法
本方法已有个人总结,
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSString *path=@"/Users/tang/Desktop/123";
NSString *pathtext=@"/Users/tang/Desktop/123/123.txt";
//用于获取单例对象,快速创建对象的方法,
//单例对象:在程序运行期间只有一个对象,
NSFileManager *fm=[NSFileManager defaultManager];
//文件是否存在
//BOOL isYes=[fm fileExistsAtPath:path];
BOOL isDictory=NO;
BOOL isYes=[fm fileExistsAtPath:path isDirectory:&isDictory];
//如果存在判断是否是一个目录
if(isYes)
{
NSLog(@"文件存在!");
if(isDictory)
{
NSLog(@"是一个目录!!");
isDictory=NO;
}
isYes=NO;
}
//判断文件权限.可读,可写,是否可删除
isYes=[fm isReadableFileAtPath:path];
[fm isWritableFileAtPath:path];
[fm isDeletableFileAtPath:path];
//获取文件属性的信息
NSDictionary *fdict=[fm attributesOfFileSystemForPath:path error:nil];
NSLog(@"%@",fdict);
NSLog(@"%@",[fdict fileGroupOwnerAccountName]);
//获取指定目录下的文件及子目录
NSArray *arr=[fm subpathsAtPath:path];
NSLog(@"%@",arr);
arr=[fm subpathsOfDirectoryAtPath:path error:nil]; //不用递归的模式进行遍历
NSLog(@"%@",arr);
//获取指定目录下的子目录,不含子目录下的目录
NSArray *current=[fm contentsOfDirectoryAtPath:path error:nil];
NSLog(@"%@",current);
//
NSData* data= [fm contentsAtPath:pathtext];
NSLog(@"%@",data);
//用法深入
//创建 文件/目录
NSString *cuStr=@"/users/tang/desktop";
//第二个参数如果为YES,不存在desktop的情况下也创建desktop,即自动创建路径中缺少的目录
NSDictionary *dir=nil;
BOOL isSucceed=[fm createDirectoryAtPath:cuStr withIntermediateDirectories:YES attributes:dir error:nil];
if(isSucceed)
{
NSLog(@"创建成功");
isSucceed=NO;
}
//创建文件
NSString *content=@"sshhduoolnalsdfoashdfnai";
NSData *da=[content dataUsingEncoding:NSUTF8StringEncoding];
//NSData *da2=[NSData dataWithBytes:<#(const void *)#> length:<#(NSUInteger)#>];
isSucceed=[fm createFileAtPath:cuStr contents:da attributes:nil];
if(isSucceed)
{
NSLog(@"文件创建成功");
isSucceed=NO;
}
//复制文件,复制文件的时候复制到的文件夹下一定要有文件,不会自动创建;
//[fm copyItemAtPath:<#(NSString *)#> toPath:<#(NSString *)#> error:<#(NSError *__autoreleasing *)#>
//[fm copy];
//移动文件
//[fm moveItemAtPath:<#(NSString *)#> toPath:<#(NSString *)#> error:<#(NSError *__autoreleasing *)#>]
//删除文件
//[fm removeItemAtPath:<#(NSString *)#> error:<#(NSError *__autoreleasing *)#>];
// NSString *path=@"/Users/tang/Desktop/123/22/11.txt";
// NSString *pathtext=@"/Users/tang/Desktop/123/223.txt";
// //用于获取单例对象,快速创建对象的方法,
// //单例对象:在程序运行期间只有一个对象,
// NSFileManager *fm=[NSFileManager defaultManager];
// //文件下载:断点续传//两个文件管理的类,一个NSFileManager,另一个:?????????????
// NSString *content=@"sshhduoolnalsdfoashdfnai";
// NSData *da=[content dataUsingEncoding:NSUTF8StringEncoding];
// bool isSucceed=[fm createFileAtPath:pathtext contents:da attributes:nil];
// //[fm copy];不可以用copy,因为NSDileManager没有遵守NSCopy协议
// if(isSucceed)
// {
// NSLog(@"成功");
// [fm copyItemAtPath:pathtext toPath:path error:nil];
// }
}
return 0;
}
NSFileManager 的基本使用方法的更多相关文章
- IOS文件系统及其相关操作(NSFileManager,NSFileHandle)
How do you get the paths to these special sandbox directories? NSArray *NSSearchPathForDirectoriesIn ...
- OBjective-C:文件管理类NSFileManager
文件管理类NSFileManager类:对文件进行创建.复制.重命名.删除等,一般不对文件内容进行操作. NSData类和NSMutableData类:相当于数据缓冲区 NSFileManager是 ...
- iOS文件和目录操作,iOS文件操作,NSFileManager使用文件操作:
NSFileManager常用的文件方法: -(NSData*)contentsAtPath:path 从一个文件中读取数据 -(BOLL)createFileAtPath:path contents ...
- iOS开发系列--通讯录、蓝牙、内购、GameCenter、iCloud、Passbook系统服务开发汇总
--系统应用与系统服务 iOS开发过程中有时候难免会使用iOS内置的一些应用软件和服务,例如QQ通讯录.微信电话本会使用iOS的通讯录,一些第三方软件会在应用内发送短信等.今天将和大家一起学习如何使用 ...
- iOS--通讯录、蓝牙、内购、GameCenter、iCloud、Passbook等系统服务开发汇总
iOS开发过程中有时候难免会使用iOS内置的一些应用软件和服务,例如QQ通讯录.微信电话本会使用iOS的通讯录,一些第三方软件会在应用内发送短信等.今天将和大家一起学习如何使用系统应用.使用系统服务: ...
- iOS开发——高级技术&iCloud服务
iCloud服务 iCloud 是苹果提供的云端服务,用户可以将通讯录.备忘录.邮件.照片.音乐.视频等备份到云服务器并在各个苹果设备间直接进行共享而无需关心数据同步问题,甚至 即使你的设备丢失后在一 ...
- iOS开发系列通讯录、蓝牙、内购、GameCenter、iCloud、Passbook系统服务开
--系统应用与系统服务 iOS开发过程中有时候难免会使用iOS内置的一些应用软件和服务,例如QQ通讯录.微信电话本会使用iOS的通讯录,一些第三方软件会在应用内发送短信等.今天将和大家一起学习如何使用 ...
- IOS文件管理-NSFileMangager-NSdata
Ios下的文件管理, Ios下不像windows 文件系统那样可以访问任何的文件目录,如C盘.D盘什么的.在Ios中每个应用程序只能访问当前程序的目录,也即sandbox(沙盒模型). iOS为每个应 ...
- IOS中调用系统的电话、短信、邮件、浏览功能
iOS开发系列--通讯录.蓝牙.内购.GameCenter.iCloud.Passbook系统服务开发汇总 2015-01-13 09:16 by KenshinCui, 26990 阅读, 35 评 ...
随机推荐
- trap
http://blog.csdn.net/elbort/article/details/8525599 http://mywiki.wooledge.org/SignalTrap
- c3p0 config
c3p0-config.xml<?xml version="1.0" encoding="UTF-8"?> <c3p0-config> ...
- Unity3d运行时动态修改材质
void Start () { const string MainTexVariableName = "_MainTex"; var renders = gameObject.Ge ...
- python模块名和文件名冲突解决
对于python初学者,很容易练习到一个随机数生成的程序,代码如下: #!/usr/bin/python import random print(random.randint(12,20)) 这个小程 ...
- UTF8编码转换(C#)
例如: UTF8---ISO-8859-1 string string = "这是中文";Encoding utf8 = Encoding.UTF8; Encoding ISO = ...
- Python2.7<-------->Python3.x
版本差异 from __future__ Python2.7 Python3.x 除法 / // Unicode u'' ...
- 【python】入门学习(五)
字符串: 正索引,从0开始 和 负索引,从-1开始 >>> s = 'apple' >>> s[0] 'a' >>> s[1] 'p' >& ...
- vs2010:fatal error LNK1123: 转换到 COFF 期间失败
解决方法: 项目\属性\配置属性\清单工具\输入和输出\嵌入清单:原来是“是”,改成“否”.
- Hibernate查询语句
1 hql查询 Hibernate的查询语句,hiberante提供的面向对象的查询语言,和sql语句的语法的相似.而且严格区分大小写. 1.1 from字句 /** * hql: from 字句 * ...
- MFC 使用MFC EditBrowse Control控件选择文件或者文件夹
从工具箱中拖拽一个MFC EditBrowse Control到窗体中, 通过设置“Browse Mode”属性指定“文件浏览”还是“文件夹浏览” 可以通过添加对象的方式将其与一个CString se ...