• "应用程序包": 这里面存放的是应用程序的源文件,包括资源文件和可执行文件。
  • 获取方式:
NSString *path = [[NSBundle mainBundle] bundlePath];

  • Documents: iTunes会同步此文件夹中的内容,一般用来存储持久化的数据.

NSString *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES).firstObject;
  • firstObject或者lastobject都可以,因为该目录下只有一个文件夹
  • Library/Caches: iTunes不会同步此文件夹,caches存储缓存的.library目录下另一个文件夹是 preference 偏好设置文件夹,通过获取偏好设置的单例,直接可以保存在偏好设置里面的.plist文件

NSString *path = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES).firstObject;
//偏好设置的单例
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
//直接调用方法就能保存入偏好设置里面
[userDefaults setObject:@"hello"forKey:@"hello"];
//保存完以后一定记得同步synchronize更新一下.
  • 临时文件夹tmp: iTunes不会同步此文件夹,里面存的是临时文件,随时可以被删除,一般不怎么用

NSString *path = NSTemporaryDirectory();

比较常用的归档保存

  • 比如要归档一个对象或者model模型,则要归档的对象要遵守 协议
  • 在.m文件中实现归档,解档的协议方法
//
// Person.m
// test
//
// Created by 裴波波 on 16/4/8.
// Copyright © 2016年 裴波波. All rights reserved.
// #import "Person.h" @implementation Person //归档
-(void)encodeWithCoder:(NSCoder *)aCoder{ [aCoder encodeObject:self.name forKey:@"name"];
[aCoder encodeObject:self.age forKey:@"age"];
[aCoder encodeObject:self.hight forKey:@"hight"];
} //解档
-(instancetype)initWithCoder:(NSCoder *)aDecoder{ if([super init]){
self.name = [aDecoder decodeObjectForKey:@"name"];
self.age = [aDecoder decodeObjectForKey:@"age"];
self.hight = [aDecoder decodeObjectForKey:@"hight"];
}
return self;
} @end
  • 上面是告诉编译器按照什么方式进行归档.
  • 如何调用HOW??

//获取要保存文件的路径.并创建对应的文件,文件的后缀,越复杂越好,因为别人拿到后不会发现里面有什么
NSString *filePath = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject] stringByAppendingPathComponent:@"peibobo.bobo"]; //第二步---归档----------------------per要归档的对象---filePath要归档到的文件
[NSKeyedArchiver archiveRootObject:per toFile:filePath];
  • 解档
//一样获取文件
NSString *filePath = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject] stringByAppendingPathComponent:@"peibobo.bobo"]; //调用方法
Person *per = [NSKeyedUnarchiver unarchiveObjectWithFile:file];

注意点:

* 要归档对象要遵守NSCoding协议,实现归档解档方法.

* 获取保存的文件,要保存文件的路径

* 调用两个方法一个进行归档,一个进行解档.

ios - 文件保存路径的获取的更多相关文章

  1. iOS 沙盒路径获取,创建文件

    沙盒下主要有四个文件夹:document,caches,tmp,library document 的路径 程序运行时生成的文件,这个文件不要存比较放大的文件,比如音频,视频类,因为这里的东西会被上传 ...

  2. iOS——文件操作NSFileManager (创建、删除,复制,粘贴)

    iOS——文件操作NSFileManager (创建.删除,复制,粘贴)       iOS的沙盒机制,应用只能访问自己应用目录下的文件.iOS不像android,没有SD卡概念,不能直接访问图像.视 ...

  3. IOS文件操作的两种方式:NSFileManager操作和流操作

    1.常见的NSFileManager文件方法 -(NSData *)contentsAtPath:path //从一个文件读取数据 -(BOOL)createFileAtPath: path cont ...

  4. 【精】iOS 文件操作:沙盒(SandBox)、文件操作(FileManager)、程序包(NSBundle)

    1.沙盒机制介绍 iOS 中的沙盒机制(SandBox)是一种安全体系. 每一个 iOS 应用程序都有一个单独的文件系统(存储空间).并且仅仅能在相应的文件系统中进行操作,此区域被称为沙盒. 全部的非 ...

  5. iOS文件处理类

    iOS文件处理类 这是一个用来简化iOS中关于文件操作的一个类,所有方法都为类方法. Source File.h // // File.h // FileManager // // http://ho ...

  6. ios中摄像头/相册获取图片压缩图片上传服务器方法总结

    本文章介绍了关于ios中摄像头/相册获取图片,压缩图片,上传服务器方法总结,有需要了解的同学可以参考一下下.     这几天在搞iphone上面一个应用的开发,里面有需要摄像头/相册编程和图片上传的问 ...

  7. MCDownloadManager ios文件下载管理器

    我们用AFNetworking小试牛刀,写一个简单的下载器来演示功能. 前言 为什么AFNetworking能够成为顶级框架?我们究竟该如何领悟它的精髓所在?这都是很难的问题.安全,高效,流畅,这3个 ...

  8. MD5工具类,提供字符串MD5加密、文件MD5值获取(校验)功能

    MD5工具类,提供字符串MD5加密(校验).文件MD5值获取(校验)功能 : package com.yzu.utils; import java.io.File; import java.io.Fi ...

  9. asp.net 5 中应用程序根目录及物理文件根目录的获取方式 此文已过期,不再适应rc1以后的版本

    之前看了asp.net5,小弟就试着用了用,做了个小网站练习一下,有一个小模块需要上传图片到wwwroot下的images文件夹,但是aspnet5 发生了翻天复地变化,之前获取网站根目录的的方法不再 ...

随机推荐

  1. IOS学习笔记25—HTTP操作之ASIHTTPRequest

    IOS学习笔记25—HTTP操作之ASIHTTPRequest 分类: iOS2012-08-12 10:04 7734人阅读 评论(3) 收藏 举报 iosios5网络wrapper框架新浪微博 A ...

  2. BZOJ 1087 题解【状压DP】

    1087: [SCOI2005]互不侵犯King Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 3112  Solved: 1816[Submit][ ...

  3. asp.net mvc4 HTTP Error 403.14

    asp.net mvc4项目部署到II&上时,出现HTTP Error 403.14 - Forbidden - The Web server is configured to not lis ...

  4. 不错的 iOS 开发辅助工具

    一,常用 1>  iPhone 日志插件iConsole.

  5. Linux_awk命令详解

    什么是awk? 你可能对UNIX比较熟悉,但你可能对awk很陌生,这一点也不奇怪,的确,与其优秀的功能相比,awk还远没达到它应有的知名度.awk是什 么?与其它大多数UNIX命令不同的是,从名字上看 ...

  6. 关于IE9中webdiriver使用autoit上传文件报错

    在ie9中, type="file"的元素是通过js打开的 webdirver结合autoit上传文件时,会报拒绝访问的错 sciTE编辑器中是这样写的: #include < ...

  7. Redis入门笔记(二)-配置及运行

    转自: http://gly199.iteye.com/blog/1056424 1.redis基本参数 redis的配置文件中的常见参数如下: daemonize   是否以后台进程运行,默认为no ...

  8. Android查询系统的音频(音乐播放器的核心)

    //查询系统的音频库 public static List<MusicBean> getMusicInfo(Context context){ List<MusicBean> ...

  9. iOS 导入第三方文件夹时右侧出现问号

    首先,和版本库有关. a代表add,m代表modify,?代表未能识别,通常如果使用git之类的版本控制器,添加文件后没有进行提交,就会出现? 1.遇到引用文件夹为蓝色的情况,是你以为勾了copy项, ...

  10. nyoj-204

    描述国王有一个魔镜,可以把任何接触镜面的东西变成原来的两倍——只是,因为是镜子嘛,增加的那部分是反的. 比如一条项链,我们用AB来表示,不同的字母表示不同颜色的珍珠.如果把B端接触镜面的话,魔镜会把这 ...