iOS开发中对文件目录的访问及管理的基本方法小结

前端技术 2023/09/02 IOS

文件目录的访问

最简单的:(由于是沙盒关系,没有文件夹概念的)

%@/%@/%@\",[[NSBundlemainBundle] resourcePath],@\"document\",@\"aaa.txt\"];

或者直接:
复制代码 代码如下:

NSString* path = [[NSBundle mainBundle] pathForResource:@\"aaa\" ofType:@\"png\"];

一般来说应用程序有3个目录

Documents,Library,tmp

现在apple不允许把大数据保存在documents文档,如果你想把视频什么的保存在documents文档里面,需要备份到icould比较麻烦。

一般窝的做法就是保存在Library的caches目录下面(不知道是否合理:))

tmp目录的话,保存一些临时文件,在退出程序的时候你可以把里面的缓存内容删除。


在应用程序中获得自己的documents目录:

复制代码 代码如下:

NSArray * paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);NSString * documentDirectory = [paths objectAtIndex:0];

在上面的基础上,获得一个完整的文件路径和名字:
复制代码 代码如下:

NSString * file = [documentDirectory stringByAppendingPathComponent:@\"file1.txt\"];

这就可以用file来创建,读取,和写入文件。

文件目录管理
下面来看一些常用的文件目录管理方法
1、常见的NSFileManager文件方法

复制代码 代码如下:

-(NSData *)contentsAtPath:path  //从一个文件读取数据


-(BOOL)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:path andPath:path2  //比较两个文件的内容


-(BOOL)fileExistAtPath:path  //测试文件是否存在


-(BOOL)isReadableFileAtPath:path  //测试文件是否存在,并且是否能执行读操作  


-(BOOL)isWriteableFileAtPath:path  //测试文件是否存在,并且是否能执行写操作  


-(NSDictionary *)attributesOfItemAtPath:path error:err  //获取文件的属性  


-(BOOL)setAttributesOfItemAtPath:attr error:err  //更改文件的属性

本文地址:https://www.stayed.cn/item/4401

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。