[Xcode10 实际操作]七、文件与数据-(1)获取程序沙箱结构中常用的几个目录

本文将演示如何获取程序沙箱结构中,常见的几个目录。

在项目导航区,打开视图控制器的代码文件【ViewController.swift】

 1 import UIKit
 2
 3 class ViewController: UIViewController {
 4
 5     override func viewDidLoad() {
 6         super.viewDidLoad()
 7         // Do any additional setup after loading the view, typically from a nib.
 8
 9         //获得应用程序的路径,
10         //包含三个文件夹:1.文档目录 2.库目录 3.临时目录 4.以及一个程序包
11         //该目录就是应用程序的沙盒,程序只能访问该目录下的内容。
12         let homePath = NSHomeDirectory()
13         //在控制台打印输出程序包主目录的路径
14         print("homePath:\(homePath)")
15
16         //系统会为每个程序,生成一个私有目录,并随机生成一个数字字母串作为目录名。
17         //在每次程序启动时,这个目录名称都是不同的。
18         //而使用此方法,则可以i获得对应的目录集合。
19         let documentPaths = NSSearchPathForDirectoriesInDomains(FileManager.SearchPathDirectory.documentDirectory,
20         FileManager.SearchPathDomainMask.userDomainMask,
21          true)
22          //获得并输出目录集合中的第一个元素,即沙箱中的文档目录。
23          //应该将应用程序的所有数据文件,写入到这个目录下。
24          //这个目录通常用于存储用户数据。
25         print("documentPath1:\(documentPaths[0])")
26         //创建一个字符串对象,该字符串对象同样表示沙箱中的文档目录
27         let documentPath2 = NSHomeDirectory() + "/Documents"
28         //在控制台打印输出该目录,并与上一条日志比较是否相同
29         print("documentPath2:\(documentPath2)")
30
31         //使用相同的方式,获得沙箱下的库目录。
32         //这个目录下,包含两个子目录:1.缓存目录 2.参数目录
33         let libraryPaths = NSSearchPathForDirectoriesInDomains(FileManager.SearchPathDirectory.libraryDirectory,
34          FileManager.SearchPathDomainMask.userDomainMask,
35           true)
36         //在控制台打印输出库目录
37         print("libraryPath1:\(libraryPaths[0])")
38         //创建一个字符串对象,该字符串对象同样表示沙箱中的库目录
39         let libraryPath2 = NSHomeDirectory() + "/Library"
40         //在控制台打印输出该目录,并与上一条日志比较是否相同
41         print("libraryPath2:\(libraryPath2)")
42
43         //使用相同的方式,获得沙箱下的缓存目录。
44         let cachePaths = NSSearchPathForDirectoriesInDomains(FileManager.SearchPathDirectory.cachesDirectory,
45         FileManager.SearchPathDomainMask.userDomainMask,
46          true)
47         //获得并在控制台打印输出缓存目录,
48         //该目录用于存放应用程序专用的支持文件,
49         //保存应用程序再次启动过程中,需要的信息
50         print("cachePath1:\(cachePaths[0])")
51         //创建一个字符串对象,该字符串对象同样表示沙箱中的缓存目录,
52         let cachePath2 = NSHomeDirectory() + "/Library/Caches"
53         //在控制台打印输出该目录,并与上一条日志比较是否相同
54         print("cachePath2:\(cachePath2)")
55
56        //创建一个字符串对象,该字符串对象同样表示沙箱中的临时目录
57         let tmpPath1 = NSTemporaryDirectory()
58         //在控制台打印输出沙箱目录的临时文件夹
59         print(tmpPath1)
60
61         //从沙箱的根目录,也可以定位到临时文件夹
62         let tmpPath2 = NSHomeDirectory() + "/tmp"
63         //在控制台打印输出沙箱目录的临时文件夹
64         print(tmpPath2)
65     }
66
67     override func didReceiveMemoryWarning() {
68         super.didReceiveMemoryWarning()
69         // Dispose of any resources that can be recreated.
70     }
71 }

原文地址:https://www.cnblogs.com/strengthen/p/10042273.html

时间: 2024-08-27 10:19:56

[Xcode10 实际操作]七、文件与数据-(1)获取程序沙箱结构中常用的几个目录的相关文章

python操作txt文件中数据教程[1]-使用python读写txt文件

python操作txt文件中数据教程[1]-使用python读写txt文件 觉得有用的话,欢迎一起讨论相互学习~Follow Me 原始txt文件 程序实现后结果 程序实现 filename = './test/test.txt' contents = [] DNA_sequence = [] # 打开文本并将所有内容存入contents中 with open(filename, 'r') as f: for line in f.readlines(): contents.append(line

[Xcode10 实际操作]七、文件与数据-(14)数据持久化存储框架CoreData的使用:删除CoreData中的数据

本文将演示如何删除数据持久化对象. 在项目导航区,打开视图控制器的代码文件[ViewController.swift] 1 import UIKit 2 //引入数据持久化存储框架[CoreData] 3 import CoreData 4 5 class ViewController: UIViewController { 6 7 override func viewDidLoad() { 8 super.viewDidLoad() 9 // Do any additional setup a

[Xcode10 实际操作]七、文件与数据-(4 )遍历文件夹中的文件

本文将演示如何遍历文件夹下的内容. 在项目导航区,打开视图控制器的代码文件[ViewController.swift] 1 import UIKit 2 3 class ViewController: UIViewController { 4 5 override func viewDidLoad() { 6 super.viewDidLoad() 7 // Do any additional setup after loading the view, typically from a nib.

[Xcode10 实际操作]七、文件与数据-(3)创建文本文件、属性列表文件、图片文件

本文将演示如何创建各种类型的文件. 在项目导航区,打开视图控制器的代码文件[ViewController.swift] 1 import UIKit 2 3 class ViewController: UIViewController { 4 5 override func viewDidLoad() { 6 super.viewDidLoad() 7 // Do any additional setup after loading the view, typically from a nib.

[Xcode10 实际操作]七、文件与数据-(9)编码创建Plist文件(属性列表文件)

本文将演示如何通过编码的方式,创建属性列表文件. 在项目导航区,打开视图控制器的代码文件[ViewController.swift] 1 import UIKit 2 3 class ViewController: UIViewController { 4 5 override func viewDidLoad() { 6 super.viewDidLoad() 7 // Do any additional setup after loading the view, typically from

[Xcode10 实际操作]七、文件与数据-(16)解析XML文档

本文将演示如何解析XML文档. 项目中已添加一份XML文档:worker.xml 1 <?xml version="1.0" encoding="UTF-8" ?> 2 <workers> 3 <worker id='1'> 4 <name>Jerry</name> 5 <age>35</age> 6 <salary>25600</salary> 7 <

[Xcode10 实际操作]七、文件与数据-(19)颜色集(Color Set)的使用

本文将演示颜色集合的使用. 使用颜色集合可以很方便地创建应用程序的主题色,并且可以方便的对主题颜色进行更换. 要使用颜色集功能,需要设置项目的部署(Deployment)版本号. [Deployment Target]:选择11.0以上的选项. 接着打开资源文件夹,在资源文件夹中创建颜色集合. [Assets.xcassets]->[+]->[New Color Set]-> 点击修改颜色的默认名称:BackgroundColor ->打开属性设置面板->点击刚才新建的图标,

linux下操作iso文件的两个shell程序

记得这还是当初玩cdlinux时弄的,当初应该是由于windows下的Ultraiso对cdlinux的镜像修改后导致镜像无法引导,所以就使用linux下的命令进行操作 这应该是挂载iso文件的命令: mount -o loop /home/cdl/CDl.iso /mnt#mkdir /home/cdl/CDlinuxcp -r /mnt/* /home/cdl/CDlinuxumount -r /mntchmod -R 777 /home/cdl/CDlinux 这应该是重新生成iso文件的

java获取程序打包成jar包/exe 同级目录下的资源文件

代码: Properties externalResourceFile = new Properties(); String jarpath = System.getProperty("user.dir") + "/config/externalConfig.properties"; try { FileInputStream in = new FileInputStream(jarpath); externalResourceFile.load(in); Syst