iOS文件处理介绍(一)
一、在Documents、tmp和Library中存储文件
Documents:用于存储应用程序中经常需要读取或写入的常规文件。
tmp:用于存储应用程序运行时生成的文件。(随着应用程序的关闭失去了利用价值)
Library:一般存放应用程序的配置文件,比如说plist类型的文件。
二、读取和写入文件
1、新建Empty Application应用程序,添加HomeViewController文件。
HomeViewController.h代码:
1 | #import <UIKit/UIKit.h> |
2 | |
3 | @interface HomeViewController : UIViewController |
4 | { |
5 | |
6 | } |
7 | - (NSString *) documentsPath;//负责获取Documents文件夹的位置 |
8 | - (NSString *) readFromFile:(NSString *)filepath; //读取文件内容 |
9 | - (void) writeToFile:(NSString *)text withFileName:(NSString *)filePath;//将内容写到指定的文件 |
10 | @end |
HomeViewController.m代码:
1 | #import "HomeViewController.h" |
2 | @interface HomeViewController () |
3 | @end |
4 | @implementation HomeViewController |
5 | //负责获取Documents文件夹的位置 |
6 | - (NSString *) documentsPath{ |
7 | NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); |
8 | NSString *documentsdir = [paths objectAtIndex:0]; |
9 | return documentsdir; |
10 | } |
11 | |
12 | |
13 | //读取文件内容 |
14 | - (NSString *) readFromFile:(NSString *)filepath{ |
15 | if ([[NSFileManager defaultManager] fileExistsAtPath:filepath]){ |
16 | NSArray *content = [[NSArray alloc] initWithContentsOfFile:filepath]; |
17 | NSString *data = [[NSString alloc] initWithFormat:@"%@", [content objectAtIndex:0]]; |
18 | [content release]; |
19 | return data; |
20 | } else { |
21 | return nil; |
22 | } |
23 | } |
24 | //将内容写到指定的文件 |
25 | - (void) writeToFile:(NSString *)text withFileName:(NSString *)filePath{ |
26 | NSMutableArray *array = [[NSMutableArray alloc] init]; |
27 | [array addObject:text]; |
28 | [array writeToFile:filePath atomically:YES]; |
29 | [array release]; |
30 | } |
31 | |
32 | |
33 | -(NSString *)tempPath{ |
34 | return NSTemporaryDirectory(); |
35 | } |
36 | - (void)viewDidLoad |
37 | { |
38 | NSString *fileName = [[self documentsPath] stringByAppendingPathComponent:@"content.txt"]; |
39 | |
40 | //NSString *fileName = [[self tempPath] stringByAppendingPathComponent:@"content.txt"]; |
41 | |
42 | [self writeToFile:@"苹果的魅力!" withFileName:fileName]; |
43 | |
44 | NSString *fileContent = [self readFromFile:fileName]; |
45 | |
46 | NSLog(fileContent); |
47 | |
48 | [super viewDidLoad]; |
49 | } |
50 | @end |
效果图:
本文转载至 http://mobile.9sssd.com/ios/art/953
iOS文件处理介绍(一)的更多相关文章
- iOS Simulator功能介绍关于Xamarin IOS开发
iOS Simulator功能介绍关于Xamarin IOS开发 iOS Simulator功能介绍 在图1.38所示的运行效果中,所见到的类似于手机的模型就是iOS Simulator.在没有iPh ...
- ios中框架介绍
ios中框架介绍 参考博客: 参考文章:框架介绍 框架介绍 框架就是一个目录,一个目录包含了共享库,访问共享库里面的代码的头文件,和其他的图片和声音的资源文件.一个共享库定义的方法和函数可以被应用程序 ...
- 【整理】Xcode中的iOS模拟器(iOS Simulator)的介绍和使用心得
[整理]Xcode中的iOS模拟器(iOS Simulator)的介绍和使用心得 iOS模拟器简介 iOS功能简介 iOS模拟器,是在Mac下面开发程序时,开发iOS平台的程序时候,可以使用的辅助工具 ...
- IOS自动化打包介绍
IOS自动化打包介绍 标签: app打包 , Ios打包 , iphone打包 , iphone自动化打渠道包 分类:无线客户端技术, 贴吧技术 摘要 随着苹果手持设备用户的不断增加,ios应 ...
- Unity——资源文件夹介绍
Unity资源文件夹介绍 1.编辑时 在Asset文件下存在Resources和SteamingAsset文件夹: Resources 只读不可修改,打包时直接写死,没有办法通过热更新替换资源: 可以 ...
- TeamViewer12.0.71503(远程控制软件)精简版单文件企业版介绍
TeamViewer 是一款能在任何防火墙和 NAT 代理的后台用于远程控制,桌面共享和文件传输的简单且快速的解决方案.为了连接到另一台计算机,只需要在两台计算机上同时运行 TeamViewer 即可 ...
- OC多文件开发介绍
OC多文件开发介绍: 1.为什么要使用多文件? 在工作中,通常把不同的类放到不同的文件中,每个类的声明和实现分开,声明写在.h头文件中,实现写在相应的.m文件中去,类名是什么,文件名的前缀就是什么.假 ...
- iOS: 属性列表介绍 Introduction to Property Lists
iOS: 属性列表介绍 Introduction to Property Lists 从本质上说, 属性列表就是苹果的对象数据序列化与反序列化方式 属性列表使用几种数据类型把数据组织为键值表和值表 P ...
- iOS——文件操作NSFileManager (创建、删除,复制,粘贴)
iOS——文件操作NSFileManager (创建.删除,复制,粘贴) iOS的沙盒机制,应用只能访问自己应用目录下的文件.iOS不像android,没有SD卡概念,不能直接访问图像.视 ...
随机推荐
- Java中常见的异常__
作为一名游戏开发者,程序员,很自然必须熟悉对程序的调试方法.而要调试程序,自然需要对程序中的常见的异常有一定的了解,这些日子很多朋友都提出了很多问题,都是关于游戏中的报错,因此在这里我将一些常见的程序 ...
- 用Lucene对文档进行索引搜索
问题 现在给出很多份文档,现在对某个搜索词感兴趣,想找到相关的文档. 简单搜索 一种简单粗暴的做法是: 1.读取每个文档:2.找到其中含有搜索词的文档:3.对找到的文档中搜索词出现的次数统计:4.根据 ...
- OK335xS 256M 512M nand flash make ubifs hacking
/********************************************************************************* * OK335xs 256M 51 ...
- linux下ppp拨号无线上网
linux下用ppp上网需要两个程序:pppd和chat.ubuntu自带pppd和chat,可以使用man查看具体使用方法. 典型的ppp拨号需要准备几个文件: 1. pppd脚本. 2. chat ...
- 应用层timer_如何序列化timer
应用层使用timer可以启动多个timer(每个timer管理一个目标时间),也可启用一个timer来管理多个目标时间. 多个timer时每个timer占用一部分空间,且存在多个timer同时到期的先 ...
- NFS服务的端口分配
常规的一些NFS服务设置我们已经了解了.那么对于端口问题,很多朋友并不是很清楚.这里我们就来详细介绍一下端口的分配.portmapper在NFS服务启动的时候给每一个NFS服务分配了一个动态的端口,如 ...
- pip安装的python扩展模块自定义目录
根据系统不同: Windows是python目录下Lib\site-packages\: Linux是/usr/local/lib/python/dist-packages/.
- ios两视图间托付(delegate)传值
现有两个视图(ViewController.ViewController1),从ViewController中带參数跳转到ViewController1,在ViewController1选中数据后带有 ...
- js学习笔记16----父节点的操作
1.元素.parentNode : 只读属性,获取当前元素的父节点. 2.元素.offsetParent : 只读属性,获取离当前元素最近的一个有定位属性(position为relative或者abs ...
- [R语言统计]频数表
频数表在统计学中是一个非常基本并且重要的概念,我们这里就来讲解它的基本用法. 首先我们需要载入数据,并查看数据的基本信息 install.packages('vcd') #安装vcd包,其中有可以利用 ...