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 显示指定目录下所有子目录与文件,包括隐藏文件.但不列出“.” ...
随机推荐
- WeUI 是由微信官方设计团队专为微信移动 Web 应用设计的 UI 库
WeUI 是由微信官方设计团队专为微信移动 Web 应用设计的 UI 库. WeUI 是一套同微信原生视觉体验一致的基础样式库,为微信 Web 开发量身设计,可以令用户的使用感知更加统一.包含butt ...
- 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 ...
- 架构-LAMP特级学习(网站大存储量解决方案)
数据库采用主从.分区技术 数据库优化
- 【LeetCode】53. Maximum Subarray (2 solutions)
Maximum Subarray Find the contiguous subarray within an array (containing at least one number) which ...
- SecureCRT 详细使用教程和技巧
SecureCRT 常用技巧 0.在secureCRT里切换不同的窗口:ctrl+tab. 复制:[ctrl] + [shift] + c 粘贴:[ctrl] + [shift] + v ...
- Android开发学习之3大类菜单
在Android系统中,菜单可以分为三类:选项菜单(Option Menu),上下文菜单(Context Menu)以及子菜单(Sub Menu). 一.选项菜单(Option Menu) 创建选项菜 ...
- ASP.NET MVC下的异步Action的定义和执行原理[转]
http://www.cnblogs.com/artech/archive/2012/06/20/async-action-in-mvc.html Visual Studio提供的Controller ...
- Windows下面安装和配置Solr 4.9(一)
1.Solr下载 下载地址 :http://lucene.apache.org/solr/ 2.解压,测试 在example文件夹中找到start.jar文件,用命令提示符运行这个文件:ja ...
- OpenXml读取word内容注意事项
OpenXml读取word内容注意事项 1.使用OpenXml读取word内容,word后缀必须是".docx":如果word后缀是".doc"需要转成&quo ...
- 最常用的五类CSS选择器
一些新手朋友对选择器一知半解,不知道在什么情况下运用什么样的选择器,这是一个比较头疼的问题,针对新手朋友,对CSS选择器作一些简单的说明,希望能对大家的学习工作有一定的帮助,更多的CSS知识请参考We ...