1. #import "RootViewController.h"
  2. @interface RootViewController ()
  3. @end
  4. 实现文件:
  5. @implementation RootViewController
  6. - (void)viewDidLoad {
  7. [super viewDidLoad];
  8. [self path];
  9. [self writeFile];
  10. [self readingFile];
  11. }
  12. // 打印沙盒中的文件夹路径
  13. - (void)path
  14. {
  15. // 每运行一次 相当于重新安装一次 重新安装就重新分配一个沙盒 所以你每次运行路径都不一样
  16. //NSDocumentDirectory要打印文件夹地址
  17. // NSUserDomainMask 搜索范围
  18. //documents 路径
  19. // 该文件夹 一般存储用户的一些数据
  20. NSArray *documentsPathArr = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
  21. NSString *document = [documentsPathArr lastObject];
  22. NSLog(@"%@", document);
  23. // Caches缓存文件夹路径
  24. // 该文件夹 一般存储缓存文件
  25. NSArray *cachesPathArr = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
  26. NSString *cachesPath = cachesPathArr[0];
  27. NSLog(@"%@", cachesPath);
  28. // 打印tmp文件夹
  29. // 该文件夹 一般存储临时文件
  30. NSString *tempPath = NSTemporaryDirectory();
  31. NSLog(@"%@", tempPath);
  32. // 打印沙盒的主目录路径
  33. NSLog(@"%@", NSHomeDirectory());
  34. }
  35. // 简单对象引入文件
  36. // 注意如果你写入字典或者数组 那么字典数组中存储的必须是简单对象 无法写入复杂对象
  37. // 复杂对象
  38. //自定义的类 比如Person类
  39. - (void)writeFile
  40. {
  41. //简单对象
  42. // 字符串 字典 数组 data...系统提供的类
  43. // 写入文件的路径
  44. // 在documents路径下写入xiaoshuo.txt
  45. NSString *str = @"第一章 ";
  46. NSArray *documentsPathArr = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
  47. NSString *documentsPath = [documentsPathArr lastObject];
  48. // 拼接要写入文件的路径
  49. NSString *path = [documentsPath stringByAppendingPathComponent:@"xiaoshuo.txt"]; // stringByAppendingString:@"/xiaoshuo.txt" 也可以
  50. //atomically 如果YES在你写入的过程中 出现程序的崩溃不影响写入
  51. [str writeToFile:path atomically:YES encoding:NSUTF8StringEncoding error:nil];
  52. NSLog(@"%@", path);
  53. // 简单对象写入步骤
  54. // 1、拼写要写入的路径 (路径一定要拼对)
  55. // 2、调用写入方法 完事
  56. // 写入一个数组 shuzu.txt
  57. // 必须给后缀类型 你不给那 就默认是txt格式的,如果是txt格式里面是xml结构,如果是plist格式里面就是plist结构
  58. NSString *arrPath = [documentsPath stringByAppendingPathComponent:@"shuzu.plist"];
  59. NSArray *array = @[@"八戒", @"悟空", @"三藏", @"悟净"];
  60. // 调用写入方法
  61. [array writeToFile:arrPath atomically:YES];
  62. NSLog(@"%@", arrPath);
  63. // 写入一个字典zidian.plist
  64. NSString *dicPath = [documentsPath stringByAppendingPathComponent:@"zidian.plist"];
  65. NSDictionary *dic = @{@"2":@""};
  66. [dic writeToFile:dicPath atomically:YES];
  67. NSLog(@"%@", dicPath);
  68. // data的写入 后缀.da
  69. NSString *dataPath = [documentsPath stringByAppendingPathComponent:@"data.da"];
  70. NSString *dataStr = @"你猜我是谁";
  71. NSData *data = [dataStr dataUsingEncoding:NSUTF8StringEncoding];
  72. // 写入文件
  73. [data writeToFile:dataPath atomically:YES];
  74. NSLog(@"%@", dataPath);
  75. }
  76. // 读取写入的文件
  77. - (void)readingFile
  78. {
  79. // 读字符串
  80. // 获取路径
  81. NSArray *documentsPathArr = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
  82. NSString *documentsPath = [documentsPathArr lastObject];
  83. // 拼接要写入文件的路径
  84. NSString *path = [documentsPath stringByAppendingPathComponent:@"xiaoshuo.txt"];
  85. // 从路径中读取字符串
  86. NSString *str = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];
  87. NSLog(@"%@", str);
  88. // 读数组文件
  89. // 获取路径
  90. NSString *arrPath = [documentsPath stringByAppendingPathComponent:@"shuzu.plist"];
  91. NSArray *array = [NSArray arrayWithContentsOfFile:arrPath];
  92. NSLog(@"%@", array);
  93. // 读取字典
  94. // 获取路径
  95. NSString *dicPath = [documentsPath stringByAppendingPathComponent:@"zidian.plist"];
  96. NSDictionary *dic = [NSDictionary dictionaryWithContentsOfFile:dicPath];
  97. NSLog(@"%@", dic);
  98. //读data
  99. NSString *dataPath = [documentsPath stringByAppendingPathComponent:@"data.da"];
  100. // 读取data
  101. NSData *data = [NSData dataWithContentsOfFile:dataPath];
  102. // 将data转化成字符串
  103. NSString *dataStr = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
  104. NSLog(@"%@", dataStr);
  105. }
  106. @end

iOS经典讲解之获取沙盒文件路径写入和读取简单对象相关推荐

  1. ios 获取沙盒文件名_IOS获取各种文件目录路径的方法

    iphone沙箱模型有四个文件夹,分别是什么,永久数据存储一般放在什么位置,得到模拟器的路径的简单方式是什么. documents,tmp,app,Library. (NSHomeDirectory( ...

  2. iOS开发10-iOS SandBox(沙盒或沙盘)介绍、路径获取

    iOS开发10-iOS SandBox(沙盒或沙盘)介绍.路径获取 代码下载(Xcode7.0.1)  有问题请联系博主,邮箱:nathanlee1987@aliyun.com 1.沙盒路径的获取 & ...

  3. ios沙箱模式开启_iOS沙盒篇

    iOS系统在安全性上的一大亮点就是沙盒. 每个iOS应用SDK都被限制在沙盒中,我们可以把沙盒当成一个设置了仅当前SDK可以访问的文件夹,苹果对沙盒有以下几条限制: 应用程序可以在自己的沙盒中运行,但 ...

  4. iOS把UIImage保存到沙盒目录下以及少盒目录概述

    题记 -- 执剑天涯,从你的点滴积累开始,所及之处,必精益求精. 本文章概述 1.保存 UIImage 到沙盒Document目录下与读取Document中保存的图片的方法 2.沙盒机制介绍 与 各目 ...

  5. ios 获取沙河文件夹_iOS开发之获取沙盒路径

    iOS开发之沙盒机制(SandBox)详细讲解了沙盒的一些机制.在开发中,我们需要对沙盒进行操作,所以我们需要获取到沙盒路径. 沙盒里的文件夹包括Documents.Library.tmp.这三个文件 ...

  6. ios 获取沙盒文件名_iOS_沙盒(sandbox)机制及获取沙盒路径和文件操作(NSFileManager)...

    ⚠️版权声明:本文为博主原创文章,转载必须标明原文出处. ​一. 每个iOS应用SDK都被限制在"沙盒"中,"沙盒"相当于一个加了仅主人可见权限的文件夹,苹果对 ...

  7. iOS - 沙盒文件操作指南

    前言 最近在学习数据持久化相关的内容,文件作为 iOS 客户端开发中一种常见的数据保存方式,自然也是应该学习的内容,本文就来简单介绍文件相关的一些知识. 文章目录 前言 1. 文件基础 沙盒路径获取 ...

  8. ios 获取沙盒文件名_iOS沙盒机制

    沙盒机制每个应用都有自己独立的存储空间 应用不能翻过围墙去访问别的存储空间 应用请求的数据都要进行权限检查,如果不符合,就不会被放行 ios app只能在自己的沙盒目录下读取文件,在沙盒中,bundl ...

  9. iOS学习7:iOS沙盒(sandBox)机制(一)之获取沙盒路径及目录说明(转)

    转:http://my.oschina.net/joanfen/blog/151145 一.iOS沙盒机制 iOS的应用只能访问为该应用创建的区域,不可访问其他区域,应用的其他非代码文件都存在此目录下 ...

最新文章

  1. centos7 搭建本地git_本地服务调用K8S环境中的SpringCloud微服务实战
  2. 刘道成mysql视频教程_燕十八刘道成Mysql 系列视频教程 Mysql视频教程打包下载
  3. python安卓版汉化版-手机随时随地写Python,还可以开发安卓APP,太厉害了!
  4. 中国移动互联网2018年度报告:八大关键词总结与十大趋势
  5. Kudu Tablet design
  6. pandas速查手册(中文版)
  7. Java语法教程-Java开发环境安装JDK
  8. uni-app自定义tabBar;uni-app小程序自定义tabBar;uni-app小程序修改中间tabBar导航栏大小;uni-app中间导航栏凸起;uni-app修改底部导航栏
  9. 【数据结构与算法】【算法思想】Dijkstra算法
  10. 如何利用python将mp4文件转换为gif文件 + 代码分享 另附在线转换网址
  11. python可以体现数学中映射概念的是_【课时27+集合+在我的世界里+你就是唯一】 - #1...
  12. javax包 rpc_javax.xml.rpc和javax.wsdl分别属于哪个jar包?
  13. C语言的标准内存分配函数
  14. 2021年高考成绩查询海南时间,2021年海南高考后多久出成绩,附海南高考成绩查询时间入口方式...
  15. 当数据库查询速度过慢时,从哪几个方面排查解决?
  16. sql date_format用法
  17. 低成本5W无线充电器方案FS68001B简便充电芯片
  18. R语言 配对t检验,对子变量到底填在哪?t.test paired=TRUE???
  19. 页面置换模拟程序设计
  20. 能满足各种应用场景的数据可视化大屏

热门文章

  1. Linux网络编程中的几组类似功能的区别
  2. WMI技术介绍和应用——总结(完)
  3. gtest简介及简单使用
  4. 利用OpenCV求取图像的重心
  5. 【Ubuntu】dpkg-deb -c :查看deb文件中的内容
  6. python中约瑟夫环程序_Python实现约瑟夫环问题的方法
  7. php使用pdo操作mysql数据库实例_php5使用pdo连接数据库实例
  8. 7 自动开启网卡_淘汰的旧手机别扔掉,这样设置变身4G上网卡
  9. python下载大文件mp4_python合并大量ts文件成mp4格式(ps:上限是450,亲测)
  10. PicGo 配置Gitee 图床