UISenior_数据处理--------文件读写--------

 

                                        数据存储之沙盒路径

  第一种打开应用程序沙盒路径的方式

第一个参数(NSDocumentDirectory)是:枚举值,枚举你具体要查找的文件夹【要进入哪个文件夹直接修改其枚举值即可】   这里的NSDocumentDirectory作用代表进入Documents文件夹,如想进入其它文件夹可对其进行修改 可查看其枚举值的类型  如:进入Caches文件夹  第一个参数改为NSCachesDirectory

第二个参数:NSUserDomainMask表示用户的主目录

第三个参数:一般设置为YES表示展示完整的路径

NSSearchPathForDirectoriesInDomains查找沙盒路径的,返回值是一个数组,这个数组里边只有一个元素,这个元素就是路径,直接使用下标取出即可,此处的下标取为0即可

  第二种打开应用程序沙盒路径的方式

第一步:找到主目录文件夹

第二步:然后拼接自己想进入的文件夹名称

stringByAppendingPathComponent进入文件夹是通过住目录找到Library文件夹再找到其中的Caches文件

stringByAppendingString进入文件夹是通过住目录找到Library文件夹再找到其中的Caches文件       *(此处注意:Library前必须有/ )--系统寻找路径时此方法不会自动生成/,需自行添加

  特殊的文件夹的查找方式

检验路径是否存在的方法可通过打印获得对应路径字符串,赋值此字符串通过以下方式查找

1.先找到Finder图标 此图中左上角的笑脸图标  2.点开后点击上方菜单栏中的前往按钮   会出现一个前往文件夹图标 (也可用对应的快捷键来打开)

3.打开后会出现一个输入框  将复制的路径粘贴其中 就可找到对应文件

                                       简单对象的本地持久化

将NSString类型的数据存储到本地(此处只拿NSString进行举例 NSArray和NSDictionary类型基本相似不再举例)

将NSData类型的数据存储到本地(以图片为例)

初始化image

这种必须拼接图片的全名称,否则image的路径为空

使用initWithContentsOfFile初始化图片的时候,每次都会根据路径去读取,不会占用内存,如果图片在当前工程中只使用一次,应该选择这个方法

(另一个初始化方法使用imageNamed:第一次读取的时候,先把这个图片放到缓存里,下次再使用到这个同名图片的时候直接从缓存中读取;优点:方便快捷,只有第一次使用的时候稍慢,接下来再使用就会稍微快点;缺点:如果在当前工程中只使用一次会浪费内存)

将image类型的对象转换成NSData类型的数据进行存储

使用UIImageJPEGRepresentation将图片转换成NSData类型的

第一个参数(image):要转换的image对象

第二个参数(1):表示图片压缩的值,此时为1表示原比例不变

iPhone中将大于2M的图片,会自动旋转90度,所以最终会将图片保存成jpeg格式的

                                复杂对象的本地化

首先创建NSObject类的文件命名为Person

在Person.h文件里声明属性  *(<NSCoding>  此协议写在NSObject后)

在Person.m文件里进行编写如下

在Controller控制器里先导入#import "Person.h"

   归档

   解档

直接写入本地:数据是整存整取的

时间: 2024-10-11 07:05:55

UISenior_数据处理--------文件读写--------的相关文章

Hadoop的文件读写操作流程

以下主要讲解了Hadoop的文件读写操作流程: 读文件 读文件时内部工作机制参看下图: 客户端通过调用FileSystem对象(对应于HDFS文件系统,调用DistributedFileSystem对象)的open()方法来打开文件(也即图中的第一步),DistributedFileSystem通过RPC(Remote Procedure Call)调用询问NameNode来得到此文件最开始几个block的文件位置(第二步).对每一个block来说,namenode返回拥有此block备份的所有

flutter 如何实现文件读写(使用篇)

flutter文件读写可以对磁盘文件进行操作,实现某些业务场景,那么我们开始来讲下这个文件读写操作. 使用的库插件(package) dart:io(用于数据处理) path_provider (用于获取路劲) 操作步骤 1.获取正确的本地路径 2.创建指向文件位置的引用 3.写入数据到文件内 4.从文件读取数据 1.获取正确的本地路径  我们获取路劲用的是这个插件 path_provider  可以看到里面提供了两个获取路劲的方式 Example Directory tempDir = awa

Node.JS 文件读写,把Sheet图集转换为龙骨动画图集

Node.JS 文件读写,把Sheet图集数据转换为龙骨动画图集数据 var fs = require("fs") var readline = require("readline"); var rl = readline.createInterface({ input:process.stdin, output:process.stdout }); var path = undefined; var dbName = undefined; rl.question(

Android中的文件读写全面总结

转载请注明出处:http://blog.csdn.net/bettarwang/article/details/41625187 在深入分析Java中的I/O类的特征及适用场合 一文中,我详细介绍了Java中的I/O,但是,如果以为Android中的I/O与Java中一样,那就大错特错了.实际上,它们有一定的相同之外,但更多的是区别,因为Android系统中的文件存放位置不同,读取方式也不一样.下面将详细介绍Android中的文件读写: 一.资源文件的读取,不需要在Manifest文件中添加权限

文件操作ofstream,open,close,ifstream,fin,按照行来读取数据, fstream,iosin iosout,fio.seekg(),文件写入和文件读写,文件拷贝和文件

 1.ofstream,open,close 写入文件 #include<iostream> #include<fstream> using namespace std; //通过ofstream的方式实现写入文件 open,close void main() { ofstream fout;  //ofstream输出文件 fout.open("E:\\1.txt");//打开文件 fout << "1234abcdef";

C语言文件读写操作总结

C语言文件操作 一.标准文件的读写 1.文件的打开 fopen() 文件的打开操作表示将给用户指定的文件在内存分配一个FILE结构区,并将该结构的指针返回给用户程序,以后用户程序就可用此FILE指针来实现对指定文件的存取操作了.当使用打开函数时,必须给出文件名.文件操作方式(读.写或读写),如果该文件名不存在,就意味着建立(只对写文件而言,对读文件则出错),并将文件指针指向文件开头.若已有一个同名文件存在,则删除该文件,若无同名文件,则建立该文件,并将文件指针指向文件开头. fopen(char

快速入门Python中文件读写IO是如何来操作外部数据的?

读写文件是最常见的IO操作.Python内置了读写文件的函数,用法和C是兼容的. 读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘,所以,读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系统提供的接口从这个文件对象中读取数据(读文件),或者把数据写入这个文件对象(写文件). 读文件 要以读文件的模式打开一个文件对象,使用Python内置的open()函数,传入文件名和标示符 >>> f =

Python IO编程——文件读写

1.1   文件读写 1.1.1   读文件 >>> f = open('/root/python/hello.py','r')    #标识符r表示读 >>> f =open('/root/python/hello1.py', 'r')   #文件不存在报错 Traceback (most recent call last): File "<stdin>", line 1, in <module> FileNotFoundE

RandomAccessFile 文件读写中文乱码解决方案!

RandomAccessFile 读写文件时,不管文件中保存的数据编码格式是什么   使用 RandomAccessFile对象方法的 readLine() 都会将编码格式转换成 ISO-8859-1 所以 输出显示是还要在进行一次转码 例子: package fileReadAndWrite; import java.io.FileNotFoundException; import java.io.IOException; import java.io.RandomAccessFile; /*