iOS文件和目录操作,iOS文件操作,NSFileManager使用文件操作:
NSFileManager常用的文件方法:
-(NSData*)contentsAtPath:path 从一个文件中读取数据
-(BOLL)createFileAtPath:path contents:(NSData*)data attributes: attr 向一个文件写入数据
-(BOOL)removeItemAtPath:path error:err 删除一个文件
-(BOOL)moveItemAtPath:from toPath:to error:err 重命名或移动一个文件(to 不能是已存在的)
-(BOOL)copyItemAtPath:from toPath:to error:err 复制文件(to 不能是已存在的)
-(BOOL)contentsEqualAtPath:path1 andPath:path2 比较这两个文件的内容
-(BOOL)fileExistsAtPath:path 测试文件是否存在
-(BOOL)isReadableFileAtPath:path 测试文件是否存在,并且是否能执行读操作
-(BOOL)isWritableFileAtPath:path 测试文件是否存在,并且是否能执行写操作
-(NSDictionary*)attributesOfItemAtPath:path error:err 获取文件的属性
属性字典允许你指定要创建的文件的权限,如果将该参数指定为nil,该文件会被设置为默认权限。
1、通过一段程序来对文件进行操作:
- //
- // main.m
- // NSFileManager_01
- //
- // Created by swinglife on 13-11-10.
- // Copyright (c) 2013年 swinglife. All rights reserved.
- //
- #import <Foundation/Foundation.h>
- int main(int argc, const char * argv[])
- {
- @autoreleasepool {
- //文件名
- NSString *fileName = @"testFile";
- NSString *fileContent = @"这是文件内容!!!!";
- NSData *fileData = [fileContent dataUsingEncoding:NSUTF8StringEncoding];
- //创建NSFileManager实例
- NSFileManager *fm = [NSFileManager defaultManager];
- //创建文件
- [fm createFileAtPath:fileName contents:fileData attributes:nil];
- //判断文件是否存在 不存在就结束程序
- if([fm fileExistsAtPath:fileName]==NO){
- NSLog(@"文件不存在");
- return 1;
- }
- //拷贝文件
- if([fm copyItemAtPath:fileName toPath:@"newFile" error:NULL]==NO){
- NSLog(@"复制失败");
- return 2;
- }
- //测试两个文件是否相同
- if([fm contentsEqualAtPath:fileName andPath:@"newFile"]==NO){
- NSLog(@"文件不相同");
- return 3;
- }
- //重命名newFile
- [fm moveItemAtPath:@"newFile" toPath:@"newFile2" error:NULL];
- //获取newFile2的大小
- NSDictionary *fileAttr = [fm attributesOfItemAtPath:@"newFile2" error:NULL];
- if(fileAttr!=nil){
- NSLog(@"文件大小:%llu bytes",[[fileAttr objectForKey:NSFileSize] unsignedLongLongValue]);
- }
- //删除文件
- [fm removeItemAtPath:fileName error:NULL];
- //显示newFile2的内容
- NSString *data = [NSString stringWithContentsOfFile:@"newFile2" encoding:NSUTF8StringEncoding error:NULL];
- NSLog(@"%@",data);
- }
- return 0;
- }
NSFileManager常用的目录方法
-(NSString*)currentDirectoryPath 获取当前目录
-(BOOL)changeCurrentDirectoryPath:path 更改当前目录
-(BOOL)copyItemAtPath:from toPath:to error:err 复制目录结构
-(BOOL)createDirectoryAtPath:path withIntermediateDirectories:(BOOL)flag attributes:attr 创建一个新目录
-(BOOL)fileExistsAtPath:path isDirectory:(BOOL*)flag 测试文件是不是目录(flag中存储结果)
-(NSArray*)contentsOfDirectoryAtPath:path error:err 列出目录内容
-(NSDirectoryEnumerator*)enumeratorAtPath:path 枚举目录的内容
-(BOOL)removeItemAtPath:path error:err 删除空目录
-(BOOL)moveItemAtPath:from toPath:to error:err 重命名或移动一个目录
2、通过一段程序来对目录进行操作:
- //
- // main.m
- // NSFileManager_02
- //
- // Created by swinglife on 13-11-10.
- // Copyright (c) 2013年 swinglife. All rights reserved.
- //
- #import <Foundation/Foundation.h>
- int main(int argc, const char * argv[])
- {
- @autoreleasepool {
- //文件目录
- NSString *dirName = @"testDir";
- //创建NSFileManager实例
- NSFileManager *fm = [NSFileManager defaultManager];
- //获取当前目录
- NSString *path = [fm currentDirectoryPath];
- NSLog(@"Path:%@",path);
- //创建新目录
- [fm createDirectoryAtPath:dirName withIntermediateDirectories:YES attributes:nil error:NULL];
- //重命名新的目录
- [fm moveItemAtPath:dirName toPath:@"newDir" error:NULL];
- //更改当前目录到新的目录
- [fm changeCurrentDirectoryPath:@"newDir"];
- //获取当前工作目录
- path = [fm currentDirectoryPath];
- NSLog(@"Path:%@",path);
- }
- return 0;
- }
iOS文件和目录操作,iOS文件操作,NSFileManager使用文件操作:的更多相关文章
- IOS中获取各个文件的目录路径的方法和NSFileManager类
转自:http://blog.sina.com.cn/s/blog_5fb39f910101di92.html IOS中获取各种文件的目录路径的方法 iphone沙箱模型的有四个文件夹,分别是什么,永 ...
- C# 对包含文件或目录路径信息的 System.String 实例执行操作
在字符串操作中有一类比较特殊的操作,就是对包含文件或目录路径信息的 System.String 实例执行操作.比如根据一个表示路径的字符串获取其代表的文件名称.文件夹路径.文件扩展名等.在很多时候,我 ...
- linux文件和目录的删除、新建、移动等操作
在Linux下进行切换目录 cd 在Linux下查看当前目录下的内容 ls. ll. ls -al 如何显示当前命令所在的目录路径 pwd 在Linux下创建目录 mkdir 在L ...
- chattr 改变文件、目录属性 (chmod、passwd等涉及文件修改的命令提示Operation not permitted)
与chmod这个命令相比,chmod只是改变文件的读写.执行权限,更底层的属性控制是由chattr来改变的. lsattr查看文件或目录属性 chattr命令的用法:chattr [ -RVf ] [ ...
- (22)zip命令:压缩文件或目录&&unzip命令:解压zip文件
1.zip 命令基本格式如下: [root@localhost ~]#zip [选项] 压缩包名 源文件或源目录列表 注意,zip 压缩命令需要手工指定压缩之后的压缩包名,注意写清楚扩展名,以便解压缩 ...
- iOS中获取各种文件的目录路径的方法
我们的app在手机中存放的路径是:/var/mobile/Applications/4434-4453A-B453-4ADF535345ADAF344 后面的目录4434-4453A-B453-4AD ...
- C#对Windows文件/文件夹/目录的一些操作总结
1. 在一个目录下创建一个文件夹 if (!System.IO.Directory.Exists(path)) System.IO.Directory.CreateDirectory(path); ...
- 八. 输入输出(IO)操作6.文件与目录管理
目录是管理文件的特殊机制,同类文件保存在同一个目录下不仅可以简化文件管理,而且还可以提高工作效率.Java 语言在 java.io 包中定义了一个 File 类专门用来管理磁盘文件和目录. 每个 Fi ...
- Linux文件和目录操作管理命令
1.pwd:显示工作目录路径 -p:显示实际物理路径 -l:显示链接路径 2.cd:更改工作目录路径 cd:进入用户主目录 cd~:进入用户主目录 cd-:返回进入此目录之前所在的目录 cd..:返回 ...
- Linux学习——操作文件与目录
1. ls:列出文件及目录信息. 命令格式:ls [选项] ... 常用选项: -a 显示指定目录下所有子目录与文件,包括隐藏文件. -A 显示指定目录下所有子目录与文件,包括隐藏文件.但不列出“.” ...
随机推荐
- Python之filter筛选数据工具
# -*- coding: utf-8 -*- #python 27 #xiaodeng #Python之filter筛选数据工具 #http://python.jobbole.com/82597/ ...
- 类的专有方法(__getattr__和__setattr__、__delattr__)
# -*- coding: utf-8 -*- #python 27 #xiaodeng #http://www.360doc.com/content/15/0413/19/12067640_4629 ...
- mysql字符集和字符排序
mysql的字符集和字符序: 字符序:字符序(Collation)是指在同一字符集内字符之间的比较规则 一个字符序唯一对应一种字符集,但一个字符集可以对应多种字符序,其中有一个是默认字符序 ...
- ab,qps,服务器性能压力
ab,qps,服务器性能压力 作者及来源: 陳聽溪 - 博客园 收藏到→_→: 摘要: ab,qps,服务器性能压力 http://www.makaidong.com/%E5%8D ...
- Linux(CentOS)的server安装及配置图解(图文)
CentOS,据说这个如今在server上装机量非常大. 安装的分区划分 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdXBpMnU=/font/5a6L ...
- hibernate4无法保存数据
hibernate4无法保存数据 author: hiu 以后都发文章我都备注一下作者了,hiu就是我了 红色字体更新日期:2014-07-08 初次使用hibernate4,使用getCurrent ...
- How to forcefully delete a daemonset or a pod in kubernetes cluster
I have setup a kubernetes cluster which is working fine. I created deployment with type as daemonset ...
- leetcode16 3-Sum
题目链接 给定数组a[](长度不小于3)和一个数字target,要求从a中选取3个数字,让它们的和尽量接近target. 解法:首先对数组a进行排序,其次枚举最外面两层指针,对于第三个指针肯定是从右往 ...
- hadoop集群虚拟机配置
hadoop_1, hadoop_2, hadoop_3 用户名riluo 密码19841984 查看Linux自带的JDK是否已安装 (卸载centOS已安装的1.4) 安装好的CentOS会自带O ...
- 工作总结 EntityFramework中出现DateTime2异常的完美解决办法
EntityFramework中出现DateTime2异常的完美解决办法 今天在使用entityframework往数据库插入数据的时候,突然出现了一个数据类型转换异常的问题: System.Da ...