iOS 开发之NSFileManager

iOS开发_iphone开发_文件系统NSFileManager_如何创建、重命名和删除文件 立即下载
NSFileManager中包含了用来查询单词库目录、创建、重命名、删除目录以及获取/设置文件属性的方法(可读性,可编写性等等)。


每个程序都会有它自己的沙盒,通过它你可以阅读/编写文件。写入沙盒的文件在程序的进程中将会保持稳定,即便实在程序更新的情况下。
如下所示,你可以在沙盒中定位文件目录:
//对于错误信息
NSError *error;
// 创建文件管理器
NSFileManager *fileMgr = [NSFileManagerdefaultManager];
//指向文件目录
NSString *documentsDirectory= [NSHomeDirectory()
stringByAppendingPathComponent:@"Documents"];

//创建一个目录
[[NSFileManager defaultManager] createDirectoryAtPath: [NSString stringWithFormat:@"%@/myFolder", NSHomeDirectory()] attributes:nil];


创建一个文件
现在我们已经有了文件目录,我们就能使用这个路径在沙盒中创建一个新文件并编写一段代码:
// File we want to create in the documents directory我们想要创建的文件将会出现在文件目录中
// Result is: /Documents/file1.txt结果为:/Documents/file1.txt
NSString *filePath= [documentsDirectory
stringByAppendingPathComponent:@"file1.txt"];
//需要写入的字符串
NSString *str= @"iPhoneDeveloper Tips\nhttp://iPhoneDevelopTips,com";
//写入文件
[str writeToFile:filePath atomically:YES
encoding:NSUTF8StringEncoding error:&error];
//显示文件目录的内容
NSLog(@"Documentsdirectory: %@",
[fileMgr contentsOfDirectoryAtPath:documentsDirectoryerror:&error]);
我们为想要创建的文件构建一条路径(file1.txt),初始化一个字符串来写入文件,并列出目录。最后一行显示了在我们创建文件之后出现在文件目录下的一个目录列表:

对一个文件重命名
想要重命名一个文件,我们需要把文件移到一个新的路径下。下面的代码创建了我们所期望的目标文件的路径,然后请求移动文件以及在移动之后显示文件目录。
//通过移动该文件对文件重命名
NSString *filePath2= [documentsDirectory
stringByAppendingPathComponent:@"file2.txt"];
//判断是否移动
if ([fileMgr moveItemAtPath:filePath toPath:filePath2 error:&error] != YES)
NSLog(@"Unable to move file: %@", [error localizedDescription]);
//显示文件目录的内容
NSLog(@"Documentsdirectory: %@",
[fileMgr contentsOfDirectoryAtPath:documentsDirectoryerror:&error]);
在移动了文件之后,输出结果应该如下图所示:

删除一个文件
为了使这个技巧完整,让我们再一起看下如何删除一个文件:
//在filePath2中判断是否删除这个文件
if ([fileMgr removeItemAtPath:filePath2 error:&error] != YES)
NSLog(@"Unable to delete file: %@", [error localizedDescription]);
//显示文件目录的内容
NSLog(@"Documentsdirectory: %@",
[fileMgr contentsOfDirectoryAtPath:documentsDirectoryerror:&error]);
一旦文件被删除了,正如你所预料的那样,文件目录就会被自动清空:

这些示例能教你的,仅仅只是文件处理上的一些皮毛。想要获得更全面、详细的讲解,你就需要掌握NSFileManager文件的知识。

在开发iPhone程序时,有时候要对文件进行一些操作。而获取某一个目录中的所有文件列表,是基本操作之一。通过下面这段代码,就可以获取一个目录内的文件及文件夹列表。

复制代码

NSFileManager *fileManager = [NSFileManager defaultManager];
//在这里获取应用程序Documents文件夹里的文件及文件夹列表
NSArray *documentPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentDir = [documentPaths objectAtIndex:0];
NSError *error = nil;
NSArray *fileList = [[NSArray alloc] init];
//fileList便是包含有该文件夹下所有文件的文件名及文件夹名的数组
fileList = [fileManager contentsOfDirectoryAtPath:documentDir error:&error];


以下这段代码则可以列出给定一个文件夹里的所有子文件夹名

复制代码

NSMutableArray *dirArray = [[NSMutableArray alloc] init];
BOOL isDir = NO;
//在上面那段程序中获得的fileList中列出文件夹名
for (NSString *file in fileList) {
NSString *path = [documentDir stringByAppendingPathComponent:file];
[fileManager fileExistsAtPath:path isDirectory:(&isDir)];
if (isDir) {
[dirArray addObject:file];
}
isDir = NO;
}
NSLog(@"Every Thing in the dir:%@",fileList);
        NSLog(@"All folders:%@",dirArray);
iOS本地文件操作 实现往本地文件写入数据,并实现删除,查找,往plist文件写键值对等 立即下载

相关推荐

FileBrowser:iOS设备沙盒文件的工具, 文件操作进度回调

文件浏览器 为iOS设备查看沙盒文件的工具 安装 CocoaPods: 在项目的Podfile中添加下一个字符串: pod ' OSFileBrowser ' , ' 0.1.6 ' 然后在终端中运行: pod install 用法 目标C: # import < OSFileBrowser> OSFileCollectionViewController *vc = [[OSFileCollectionViewController alloc ] initWithDirectoryArray:@[ [ NSString getRootPath ],[ NSStr

iPhone文件系统NSFileManager 数据文件持久性

NSFileManager中包含了用来查询单词库目录、创建、重命名、删除目录以及获取/设置文件属性的方法(可读性,可编写性等等)。 每个程序都会有它自己的沙盒,通过它你可以阅读/编写文件。写入沙盒的文件在程序的进程中将会保持稳定,即便实在程序更新的情况下。 如下所示,你可以在沙盒中定位文件目录: //对于错误信息 NSError *error; // 创建文件管理器 NSFil

lookyou111的专栏 480

1.30 Cubemx_STM32H743 SD_Card纳入文件管理系统

Cubemx_STM32H743 SD_Card纳入文件管理系统1、简介2、CubeMX配置 1、简介 和前面文章原理其实一样的。 1.29 Cubemx_STM32F429\H743 nandflash、spifalsh纳入文件管理系统 现在一并将SD卡、NandFlash、SPIFlash一并作为文件管理。 下面直接介绍SDcard,其他参考前面文章。 2、CubeMX配置 ...

oDuanYanGuHong的博客 1079

关于iPhone文件系统NSFileManager讲解

iPhone文件系统NSFileManager讲解是本文要介绍的内容,主要是通过iphone文件系统来学习NSFileManager的使用方法,具体内容来看本文详解。 AD: iPhone文件系统NSFileManager讲解是本文要介绍的内容,主要是通过iphone文件系统来学习NSFileManager的使用方法,具体内...

weixin_34161083的博客 214

DeepSeek在实时计算与流处理系统中的突破性实践

对于技术决策者而言,现在正是将DeepSeek实时计算技术纳入企业架构蓝图的关键时机,那些能够率先构建实时智能能力的企业,将在数据驱动的商业竞争中赢得决定性优势。DeepSeek通过创新的流处理架构,成功将复杂事件处理(CEP)的延迟降低到亚秒级,同时保证了计算结果的精确性。DeepSeek研发的神经架构搜索(NAS)与知识蒸馏联合优化框架,可在保持模型精度的前提下,将参数量压缩至原始模型的1/100,实现边缘设备的实时AI推理。随着5G和物联网技术的普及,对实时处理能力的需求将呈指数级增长。

Programming Talk 289

079、镜头阴影校正(LSC)精讲:径向衰减模型、增益矩阵生成与产线标定技巧

《镜头阴影校正(LSC)实战精要》 本文从实际案例出发,深入解析镜头阴影校正的核心技术与产线应用。作者通过一个典型故障案例(0.05mm镜片偏移导致LSC失效)揭示了LSC不仅是数学问题,更是光学-机械-工艺耦合系统。 【关键技术点】 模型优化:提出"径向+切向"双分量模型替代传统cos⁴θ模型,采用5阶多项式拟合径向衰减,1阶线性补偿切向误差 增益矩阵生成:采用自适应网格技术,在边缘区域加密网格,结合中值滤波与高斯平滑消除噪声干扰 产线标定:强调光源均匀性校准(积分球vs平板光源)、坏点预处理、温度补偿等

zzfmlxs的博客 102

iOS - 文件操作(File Operating)

1. 沙盒 & NSData /*_______________________________获取沙盒路径_________________________________________*/ //第一种获取方式 //NSHomeDirectory();获取到沙盒的目录路径 NSString *homePath = NSHomeDirectory(...

weixin_30363509的博客 176

故障诊断 | 小波变换机械设备外圈振动信号故障诊断

故障诊断 | 小波变换机械设备外圈振动信号故障诊断

天天酷科研的博客 506

NSFileManager(网上收集)

<br /><br /> iPhone文件系统:创建、重命名以及删除文件<br /><br /> NSFileManager中包含了用来查询单词库目录、创建、重命名、删除目录以及获取/设置文件属性的方法(可读性,可编写性等等)。<br /><br /><br /> 每个程序都会有它自己的沙盒,通过它你可以阅读/编写文件。写入沙盒的文件在程序的进程中将会保持稳定,即便实在程序更新的情况下。<br /> 如下所示,你可以在沙盒中定位文件目录:<br /> //对于错误信息<br /> NSError

daneildemon的专栏 669

RH850从0搭建Autosar开发环境【2X】- Davinci Configurator之EcuC模块配置详解(上)

RH850从0搭建Autosar开发环境【2X】- Davinci Configurator之EcuC模块配置详解(上)

weixin_42412049的博客 1529

Cadence OrCAD Capture CIS元器件管理时ERROR(ORCIS-6454): Temporary part number tracking is turned on报错的解决方法

使用Part manager对工程的元器件进行批量管理时,出现如下图所示的ERROR(ORCIS-6454): Temporary part number tracking is turned on报错其解决方法如下。

fydar的博客 3499

iOS - 用代码批量改变文件夹中文件的名字

NSString *path = @"/Users/zhangjinjiang/Desktop/ios"; NSFileManager *fileManager = [NSFileManager defaultManager]; // 创建一个新的文件夹路径 [fileManager createDirectoryAtPath:@"/Users/zhangjinjiang/Desktop/ios111" attributes:nil]; if ([fileManager f.

Q_Q33757152的博客 736

Unity3D实现视频和模型融合效果

在Unity中,视频和3D模型融合通常涉及到将视频表面内嵌到3D场景中。视频不影响模型的展示, 这可以通过使用Shader和Texture来实现。大家好,我是心疼你的一切,不定时更新Unity开发技巧,觉得有用记得一键三连哦。下面就让我们进入正文吧!提示:以下是本篇文章正文内容,下面案例可供参考本次介绍的就是视频和模型融合的实现,以后有其他的需要添加的会继续添加不定时更新Unity开发技巧,觉得有用记得一键三连哦。么么哒。

心疼你的一切博客 5357

iOS开发笔记之NSFileManager的使用

对于文件的管理,从项目需求中出发,有如下的学习成果。查看文档基本能完成基本的需求。   文档中部分常用的方法:(基本基于path和URL成对存在,这里主要解读关于path的)      //获取单例   + (NSFileManager *)defaultManager;       //创建文件夹    @param path 要创建文件夹的路径   @param createI

TPphy的专栏 4887

利用插件扩展 Qt 应用程序

不仅 Qt 本身可以通过插件进行扩展,而且 Qt 应用程序也可以通过插件来扩展,这需要应用程序使用 `QPluginLoader` 检测和加载插件。

青春不老,奋斗不止! 1万+

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

iOS开发中文件管理者NSFileManager的使用,收藏使用!

NSFileManger文件管理者的使用 //创建文件管理者 NSFileManager *fileManger = [NSFileManager defaultManager]; //判断指定文件或文件夹在磁盘上是否真实存在 BOOL isExist = [fileManger fileExistsAtPath:@"/Users/liudongcheng/desktop/abc.plist"]; //判断指定路径是否存在,并且判断路径是文件路径还是文件夹路

CoderDCLiu的博客 460

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

ios开发,NSFileManager的使用

由于本人提交app的时候需要修改文件夹的名字,并且给 .m 文件增加函数名称,之前一直是手动操作,每次提交app的时候都要更改,单纯的手动操作就显得太low了,貌似现在脚本写出来的功能都很强大,可惜我不会,所以只好用NSFileManager代替。在网上我们可以看到很多介绍NSFileManager的文章,接下来我们引用 http://www.jianshu.com/p/64b673ba551b

u012583107的博客 485

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

iOS开发12-iOS NSFileManager的使用

iOS开发12-iOS NSFileManager的使用  代码下载(Xcode7.0.1)  有问题请联系博主,邮箱:nathanlee1987@aliyun.com 1、对文件夹的操作(创建、移动、删除、重命名、判断是否存在) //NSFileManager //1.创建文件夹 //2.移动 //3.重命名(实质是移动) //4.删除

Pandakingli的博客 1244

【IOS 开发学习总结-OC-34】★★文件 I/O——NSFileManager 管理文件和目录

NSFileManager代表文件管理器。当开发者使用NSFileManager执行移动 ,复制,链接,删除文件或目录 时,程序可以为 NSFileManager提供配套的事件委托(实现了 NSFileManagerDelegate 协议的对象),该委托对象用于 确保移动 ,复制,链接,删除操作的成功过完成,并为前面的几种操作提供相应的处理方法。NSFileManager采用文件名作为文件的唯一标识

Albert的专栏 1779

ios开发系列之文件的写入读取,NSUserDefaults存储数据,NSFileManager操作文件和文件夹

1.文件的写入读取1.路径的获取 NSString * sandBoxPath = NSHomeDirectory();//获得沙盒路径 /******************************获得documents文件夹路径********************************/ //1.通过字符串拼接的方法找到 NSString * documentsPath =

鬼谷传人的博客 2423

IOS开发 沙盒中的文件操作和文件系统NSFilemanager的操作

1、获取程序的Home目录       NSString  *path = NSHomeDirectory();       NSLog(@"path:%@",path);       打印结果:        2012-07-11 11:18:16.291 TestProject[2387:f803] path:/Users/username/Librar

Xfeng_chen的专栏 508

IOS开发之文件系统NSFileManager

转载地址:http://no001.blog.51cto.com/1142339/646414 原文: NSFileManager中包含了用来查询单词库目录、创建、重命名、删除目录以及获取/设置文件属性的方法(可读性,可编写性等等)。 每个程序都会有它自己的沙盒,通过它你可以阅读/编写文件。写入沙盒的文件在程序的进程中将会保持稳定,即便实在程序更新的情况下。 如下所示,你可

在路上 885

iOS疯狂详解之NSFileManager使用

NSFileManager 是一个对文件进行操作的类 可以创建文件夹,移动文件夹,复制文件夹等. // 创建文件 - (void)createFile { // 获取Documents文件路径 #define kDocumentsPath [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMas

wangLongBlog的专栏 3025

iOS开发 NSFileManager的基本使用

一.NSFileManager介绍 1.NSFileManager是iOS中的文件管理类 2.NSFileManager可以用来进行常见的文件\文件夹操作(拷贝、剪切、创建等) 二.NSFileManager方法 1.判断文件是否存在 //创建文件管理对象 //调用defaultManager 创建一个文件管理的单例对象 //单例对象:在程序运行期间,只有一个对象存在 NSFileMan

wgl_happy的专栏 1729

[IOS开发教程] NSfileManager的使用方法

总结了一下NSFileManager的一些常用方法, NSArray *paths =NSSearchPathForDirectoriesInDomains(NSDocumentDirectory ,NSUserDomainMask,YES); NSString *documentDirectory = [paths objectAtIndex:];http://www.k

慕斯筱婕 324
上一篇: iOS 开发之音频视频后台播放
下一篇: iOS 之UIScrollView的常用方法
Shicuf
博客等级 码龄16年 11粉丝 66原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值