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 显示指定目录下所有子目录与文件,包括隐藏文件.但不列出“.” ...
随机推荐
- imp与impdp比较
impdp和expdp是oracle 10g及以上版本才带的命令,目的是替换imp和exp命令,但为了向后兼容,故后面命令在高版本中依然可以使用. 但imp和exp在处理跨版本的导入导出时很麻烦,而i ...
- iOS-按钮单选与多选逻辑处理
概述 循环创建按钮, 进行按钮单选或者多选的操作. 详细 代码下载:http://www.demodashi.com/demo/10712.html 我们经常会有多行多列按钮的页面, 这个时候我们通常 ...
- Android学习之Menu
1.普通的Menu 在Activity中覆盖onCreateOptionsMenu(Menu menu)方法,该方法负责生产menu,它是一个回调函数,即当按下手机设备上的menubutton时And ...
- velocity入门
http://wenku.baidu.com/view/b401add728ea81c758f57882.html?re=view package cn.edu; import java.io.Fil ...
- [译]流言终结者 —— SQL Server 是Sybase的产品而不是微软的
http://www.cnblogs.com/xxxtech/archive/2011/12/30/2307859.html by Euan Garden 这些年来我听说过关于这个流言的许多版本,其中 ...
- 解决idea中Activiti的bpmn编辑器的中文乱码问题
我使用的是idea2017+activiti6.0版本. 该文章主要是为了解决安装activiti插件后创建的流程模板中文乱码的问题. 1.安装Activiti流程编辑器插件. 1.1网上资料很多,这 ...
- Jmete ----r默认报告优化
转自:http://www.cnblogs.com/puresoul/p/5053035.html 一.本文目的: 之前写了两篇文章搭建持续集成接口测试平台(Jenkins+Ant+Jmeter)和A ...
- 转 python 读取中文文件名/中文路径
python直接读取中文路径的文件时失败,可做如下处理: inpath = 'D:/work/yuanxx/在线导航/驾车导航/walk_log/20130619_172355.txt' uipath ...
- Android中判断网络连接是否可用及监控网络状态
Android中判断网络连接是否可用及监控网络状态 作者: 字体:[增加 减小] 类型:转载 获取网络信息需要在AndroidManifest.xml文件中加入相应的权限,接下来详细介绍Android ...
- socket 请求接收完整的一个http响应(设置recv 接收超时选项SO_RCVTIMEO)
在前面的系列网络编程文章中,我们都是使用socket 自己实现客户端和服务器端来互相发数据测试,现在尝试使用socket 客户端发 送http 请求给某个网站,然后接收网站的响应数据.http 协议参 ...