IOS文件管理

2023-05-16

IOS文件管理

1.沙盒机制:IOS应用程序只能对自己创建的文件系统读取文件,这个独立、封闭、安全的空间就叫做沙盒。它可以存储程序包文件(可执行文件)、图片、音频、视频、plist文件、sqlite数据库文件以及其它文件.

一般地,IOS中每个应用程序都有自己的沙盒并且每个应用的沙盒是互相独立的,他们封闭而不能互通,老死不相往来.

沙盒中一般包含三个文件,分别是:Document、Library、temp.

Document:一般需要持久的数据都存放该目录中,可以在当中添加子文件夹,ITunes备份和恢复的时候,会包括此目录.

Library:设置程序的默认设置和其他状态信息.

temp:创建临时文件的目录,当IOS设置重启时,文件会被自动清除

2.如何获取沙盒目录

/**

获取沙盒根目录

*/

-(NSString*)getHomeDirectoryPath{

​ NSString* homePath = NSHomeDirectory();

​ NSLog(@”homePath:%@”,homePath);

​ return homePath;

}

/**

获取Document目录

@return Document目录路径

*/

-(NSString*)getDocumentPath{

​ NSArray* paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

​ NSLog(@”paths:%@”,paths);

​ return [paths lastObject];

}

/**

获取library文件路径

@return library文件路径

*/

-(NSString*)getLibraryPath {

​ NSArray* paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);

​ NSLog(@”paths:%@”,paths);

​ return [paths lastObject];

}

/**

获取library文件中cache路径

@return library文件中cache路径

*/

-(NSString*)getCachePathInLibrary{

​ NSArray* paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);

​ NSLog(@”paths:%@”,paths);

​ return [paths lastObject];

}

/**

获取temp的路径

@return temp的路径

*/

-(NSString*)getTempPath {

​ NSString* temp = NSTemporaryDirectory();

​ NSLog(@”temp:%@”,temp);

​ return temp;

}

3.NSString类来处理关于文件路径
如:NSString *filePth = @”/Users/apple/testfile.txt”;

常用方法如下:
/**
获取文件路径各个部分

@return 文件路径各个部分
*/
-(NSArray*)patchComponents{
NSArray* array = [filePth pathComponents];
return array;
}

/**
获取文件路径最后部分

@return 文件路径最后部分
*/
-(NSString*)lastPathComponet {
return [filePth lastPathComponent];
}

/**
获取删除文件路径最后部分的路径

@return 文件路径删除最后部分的剩余路径
*/
-(NSString*)stringByDeletingLastPathComponent {
return [filePth stringByDeletingLastPathComponent];
}

/**
给文件路径最后增加一个子路径

@param str 子路径名字
@return 追加子路径后的文件路径
*/
-(NSString*)stringByAppendingPathConmponent:(NSString*)str{
return [filePth stringByAppendingString:str];
}

/**
获取文件的扩展名

@return 文件的扩展名
*/
-(NSString*)pathExtension{
return [filePth pathExtension];
}

/**
获取删除文件扩展名后的文件路径

@return 删除扩展名后的文件路径名
*/
-(NSString*)stringByDeletingPathExtension{
return [filePth stringByDeletingPathExtension];
}

/**
给文件路径追加文件扩展名

@param str 文件扩展名
@return 追加文件扩展名后的文件路径
*/
-(NSString*)stringByAppendingPathExtension:(NSString*)str {
return [filePth stringByAppendingPathExtension:str];
}

总结:在文件管理中,我们通常需要结合NSString来做,因此NSString封装的方法非常便于我们操作文件。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

IOS文件管理 的相关文章

随机推荐

  • 将一个长度最多为30位数字的十进制非负整数转换为二进制数输出 c语言 大数处理

    Time Limit 1000 ms Memory Limit 32768 mb 将一个长度最多为30位数字的十进制非负整数转换为二进制数输出 输入描述 多组数据 xff0c 每行为一个长度不超过30位的十进制非负整数 xff08 注意是1
  • Nginx文件上传报413错误

    目录 一 问题描述二 解决方法 一 问题描述 Nginx文件上传报413错误 二 解决方法 nginx 默认对上传文件的大小做了限制 xff0c 默认大小为 1m 超过默认大小就会报 413 xff08 too large xff09 错误
  • Redis报错MISCONF Redis is configured to save RDB snapshots

    目录 一 问题描述二 解决方法1 命令行修改2 配置文件修改 三 其它问题 一 问题描述 Redis 之前一直使用正常 xff0c 某一天突然报错 xff1a MISCONF Redis is configured to save RDB
  • 内核的同步(synchronization)以及锁机制

    1 前言 为什么要考虑内核同步临界区例子 2 加锁3 死锁4 扩展性 1 前言 为什么要考虑内核同步 在单一CPU 的情况下 xff0c 中断或者内核代码明确调度时 xff0c 多个执行线程并发访问共享数据 目前多处理器以及抢占式内核的存在
  • 内核中链表(Linked List)的实现

    前言比较简单的链表 单向链表双向链表 linux 内核中双向链表的实现 存放数据的结构体存放链表指针的结构体container of 宏 内核中链表的使用自己手写的链表实验 前言 内核中链表是比较简单的数据结构 xff0c 通过两个指针元素
  • LUKS 磁盘加密

    前言LUKS 的使用步骤开机自动识别加密磁盘 根分区自动识别 忘记密码怎么办 xff1f 前言 LUKS xff08 Linux Unified Key Setup xff09 是 Linux 硬盘加密的标准 通过提供标准的磁盘格式 xff
  • linux 分区和文件系统结构

    前言磁盘分区 1 分区结构 MBR 分区GPT 分区 文件系统 1 文件系统结构2 inode 如何找到文件 3 File descriptor 彩蛋 xff1a df 是怎么计算出来的 前言 本篇文章总结一下磁盘分区以及文件系统的结构 x
  • Linux 内存分析——进程和物理结构角度

    文章目录 前言进程如何使用内存进程地址空间虚拟内存在内核中的实现系统上查看进程内存进程用来申请内存的函数共享内存实现进程间通讯64位系统地址空间 从物理内存角度看内存内存页及虚拟内存到物理内存的映射物理内存的 ZONE伙伴系统buddy 和
  • Ubuntu18.04 禁用自动挂起,禁止自动休眠

    戴尔的7920工作站新安装了ubuntu18 04LTS xff0c 结果登录远程桌面差不多半个小时之后就断开连接了 xff0c 查看发现机器自动挂起了 修改了power设置中中blank screen 为never xff0c 保存之后过
  • 手把手教你,搭建内网穿透服务

    我的 GitHub 仓库 xff1a 手把手教你搭建内网穿透服务 xff0c 基于 lanproxy 穿透服务 xff0c 为你深度定制了开箱即用的服务端和客户端 Docker 镜像 在很多场景下内网穿透都是我们常常遇到的需求 xff0c
  • 支持alpha通道的视频编码格式以及容器类型汇总

    支持alpha通道的视频编码格式以及容器类型汇总 1 png图像序列 xff0c mov mkv等格式 2 qtrle编码 xff0c mov格式 3 Apple ProRes 4444 rgba 4个通道 xff0c 其容器格式尚未了解
  • word如何给论文加引用文献

    给论文加引用文献其实差不多就是加了个链接 xff0c 通过点击链接跳转到文末最后展示引用文献额作者 xff0c 论文名等等信息 xff0c 给论文加引用文献只要有一下几步 xff1a 一 设置参考文献标号字体格式 对于论文中的文献 xff0
  • unix中c语言典型的存储空间布局

    此文转载于 xff1a https www cnblogs com LUO77 p 5853534 html 一个程序本质上都是由 BSS 段 data段 text段三个组成的 可以看到一个可执行程序在存储 xff08 没有调入内存 xff
  • ffmpeg命令分析-b:v

    本系列 以 ffmpeg4 2 源码为准 xff0c 下载地址 xff1a 链接 xff1a 百度网盘 提取码 xff1a g3k8 本系列主要分析各种 ffmpeg 命令参数 在代码里是如何实现的 a mp4下载链接 xff1a 百度网盘
  • 魔百和M401A刷入Armbian系统EMMC

    魔百和M401A刷入Armbian系统 准备工具 span class token number 1 span 电视盒子 U盘 键盘 显示器 HDMI线 span class token number 2 span armbian系统镜像包
  • SonarQube9社区版环境配置

    由于种种原因 xff0c 需要配置SonarQuber9社区版配置中心 xff0c 记录下配置搭建过程 本次部署环境 win10 43 SonatQube9 9 43 opjdk17 1 软件下载 SonarQube9 9社区版 https
  • 虚拟内存以及进程的虚拟内存分布(第六章)

    在早期的计算机中 xff0c 程序都是直接运行在物理内存上的 xff0c 意思是运行时访问的地址都是物理地址 xff0c 而这要求程序使用的内存空间不超过物理内存的大小 在现代计算机操作系统中 xff0c 为了提高CPU的利用率计算机同时运
  • PyCharm导入模块报No model named

    PyCharm导入模块报No model named 引言 在PyCharm中同目录下import其他模块 xff0c 出现No model named 的报错 xff0c 但实际可以运行的情况 这很可能是因为PyCharm并没有将当前文件
  • 推荐一款程序猿必备IDE软件 notepad++,很好用

    编程软件对于程序猿来说不仅仅是辅助 xff0c 更是效率 对于高手 大神级别的来说 xff0c 记事本就行 xff0c 可对于刚入门的 半吊子的程序猿来说 xff0c 还是软件爽 xff0c 上图为notepad 43 43 截图 这个软件
  • IOS文件管理

    IOS文件管理 1 沙盒机制 xff1a IOS应用程序只能对自己创建的文件系统读取文件 xff0c 这个独立 封闭 安全的空间就叫做沙盒 它可以存储程序包文件 xff08 可执行文件 xff09 图片 音频 视频 plist文件 sqli