IOS文件的简单读写实例详解

IOS文件的简单读写实例详解

数组(可变与不可变)和字典(可变与不可变)中元素对象的类型,必须是NSString,NSArray,NSDictionary,NSData,否则不能直接写入文件

 #pragma mark---NSString的写入与读取---
  //1:获取路径
  NSString *docunments = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)firstObject];
  //2:在该路径下创建文件夹,文件夹名为字符串.txt
  docunments = [docunments stringByAppendingString:@"/字符串.txt"];
  //  NSLog(@"%@",docunments);
  //3:编写文本内容
  NSString *str = @"大家一起来";
  //4:将文本写入到"字符串.txt"中
  /*
   writeToFile:文件路径,在这里是documents atomically:YES(若为YES,则保证了文件的原子性,即先创建一个临时文件,直到文件内容写入成功再导入目标文件(字符串.txt),为NO,直接写入目标文件里) encoding:编码格式是个枚举值 error:错误信息,一般为nil

   */
  BOOL result = [str writeToFile:docunments atomically:YES encoding:NSUTF8StringEncoding error:nil];
  if (result) {
    NSLog(@"我成功了");
  }else{
    NSLog(@"为啥失败了");
  }

  //读取
  /*
   stringWithContentsOfFile:路径 encoding:编码 error:nil,错误信息

   */
  NSString *newStr = [NSString stringWithContentsOfFile:docunments encoding:4 error:nil];
  NSLog(@">>>>%@",newStr);
  /*
   .plist全名是:Property List,属性列表文件,它是一种用来存储串行化(当程序彻底退出后,对象就会随之消亡,但是,我们希望有些东西需要记录下来,以便于恢复,也可提升用户体验,而记录的这个过程,就叫串行化)后的对象的文件。属性列表文件的扩展名为.plist ,因此通常被称为 plist文件。文件是xml格式的。
   注意:plist文件通常用于存储用户设置,也可用于存储捆绑信息
   */
#pragma mark---NSArray的写入与读取

//获取路径
  NSString *arrayDoc = [SandBox getDocuments];
  //在arrayDoc下拼接文件名
  NSString *arrPath = [arrayDoc stringByAppendingString:@"array.plist"];
  //向数组中写入数据
  NSArray *array = @[@"25",@"55",@"05",@"5885"];
  //将数组写入文件
  [array writeToFile:arrPath atomically:YES];
  NSLog(@"数组存入路径%@",arrPath);

  //读取
  NSArray *newArray = [NSArray arrayWithContentsOfFile:arrPath];
  NSLog(@"读取的文件:%@",newArray);
#pragma mark--- 字典的写入与读取----
  NSString *dicionaryDic = [SandBox getDocuments];
  NSString *dicpath = [dicionaryDic stringByAppendingString:@"dictionary.plist"];
  NSDictionary *dictionary = @{@"name":@"甲甲",@"age":@"18"};
  [dictionary writeToFile:dicpath atomically:YES];
  NSLog(@"字典存入路径%@",dicpath);

  //读取
  NSDictionary *newdict = [NSDictionary dictionaryWithContentsOfFile:dicpath];
  NSLog( @"读取的字典文件%@",newdict);

#pragma mark--- NSData----
  NSString *DataPath = [[SandBox getDocuments]stringByAppendingString:@"Data.data"];
// NSString *string = @"丑八怪";
//  NSData *data = [string dataUsingEncoding:NSUTF8StringEncoding];

  UIImage *image = [UIImage imageNamed:@"2"];
  NSData *data = UIImageJPEGRepresentation(image, 0.5);

  [data writeToFile:DataPath atomically:YES];
  NSLog(@"%@",DataPath);
  //读取
  NSData *newData = [NSData dataWithContentsOfFile:DataPath];
//  NSString *new = [[NSString alloc]initWithData:newData encoding:4];
  UIImage *new = [UIImage imageWithData:newData scale:1];

  NSLog(@"%@",newData);
  NSLog(@"%@",new);
}

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

时间: 2017-07-05

IOS 文件读写操作详解及简单实例

iPhone 文件读写操作 1,写文件操作 - (IBAction)btnWrite:(id)sender { //创建文件管理器 NSFileManager *fileManager = [NSFileManager defaultManager]; //获取路径 //参数 要获取的哪种路径 NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSSt

Java 对 Properties 文件的操作详解及简单实例

Java 对 Properties 文件的操作 简介 在 Java 中,我们常用 java.util.Properties.Properties 类来解析 Properties 文件,Properties 格式文件是 Java 常用的配置文件,它用来在文件中存储键-值对,其中键和值用等号分隔,格式如下: name=shawearn Properties 类是 java.util.Hashtable<Object, Object> 的子类,用于键和值之间的映射. 在对 Properties 格式

Android 文件操作详解及简单实例

 Android 文件操作详解 Android 的文件操作说白了就是Java的文件操作的处理.所以如果对Java的io文件操作比较熟悉的话,android的文件操作就是小菜一碟了.好了,话不多说,开始今天的正题吧. 先从一个小项目入门吧 首先是一个布局文件,这一点比较的简单,那就直接上代码吧. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="htt

Node.js Streams文件读写操作详解

Node.js 天生异步和事件驱动,非常适合处理 I/O 相关的任务.如果你在处理应用中 I/O 相关的操作,你可以利用 Node.js 中的流(stream).因此,我们先具体看看流,理解一下它们是怎么简化 I/O 操作的吧. 流是什么 流是 unix 管道,让你可以很容易地从数据源读取数据,然后流向另一个目的地. 简单来说,流不是什么特别的东西,它只是一个实现了一些方法的 EventEmitter .根据它实现的方法,流可以变成可读流(Readable),可写流(Writable),或者双向

java进行文件读写操作详解

直接上代码,有详细注释,有图解,相信你懂得! 复制代码 代码如下: package day14; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.

mybatis分页插件pageHelper详解及简单实例

mybatis分页插件pageHelper详解及简单实例 工作的框架spring springmvc mybatis3 首先使用分页插件必须先引入maven依赖,在pom.xml中添加如下 <!-- 分页助手 --> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>3.7.5

MySQL 复制详解及简单实例

MySQL 复制详解及简单实例 主从复制技术在MySQL中被广泛使用,主要用于同步一台服务器上的数据至多台从服务器,可以用于实现负载均衡,高可用和故障切换,以及提供备份等等.MySQL支持多种不同的复制技术,诸如单向,半同步异步复制等以及不同级别的复制,诸如数据库级别,表级,跨库同步等等.本文简要描述了一个基本的主从复制并给出示例. 1.复制的基本原理(步骤) a.在主库上把数据更改记录的二进制日志(binary log)     b.从库上的I/O线程连接到主库并请求发送其二进制日志文件(主库

Java File类的详解及简单实例

Java File类的详解及简单实例 1. File():构造函数,一般是依据文件所在的指定位置来创建文件对象.  CanWrite():返回文件是否可写. CanRead():返回文件是否可读. CompareTo(File pathname):检查指定文件路径间的顺序. Delet():从文件系统内删除该文件. DeleteOnExit():程序顺利结束时从系统中删除文件. Equals(Object obj):检查特定对象的路径名是否相等. Exists():判断文件夹是否存在. GetA

JAVA 注解详解及简单实例

JAVA 注解详解及简单实例 何为注解 注解(Annotation)又称为元数据,在JDK1.5后引入,它的作用是: 生成文档  这是注解的原始用途,可以通过注解生成JavaDoc文档 跟踪代码的依赖性  可以通过注解替代配置文件,简化项目的配置.现有的许多框架都采用这个功能减少自己的配置. 编译检查  在编译时进行格式检查,例如@Override 基础注解 Java目前内置了三种标准注解,以及四种元注解.四种元注解负责创建其他的注解. 三种标准注解 @Override,表示当前的方法覆盖超类中

微信小程序中input标签详解及简单实例

微信小程序中input标签详解及简单实例 使用input标签,我们都会,在微信小程序中使用,必定也是可以一下子就会的,但是却有些常用的属性无法按照习惯去使用: 我就用我最常用的来做例子: 一个一个来解读: 首先,我是定义了他的id,这是我们最常用的,所以就配了一个id,毕竟不操作他,又为什么设成输入框呢, 第二,设置他的样式, 第三,设置他的输入类别,以上都是很简单的 第四.使用正则l:哎限定输入为纯数字.这点可能有点不理解,这是对他的keyup事件监听,将不是纯数字的list无视掉.注意,是对