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卡概念,不能直接访问图像.视 ...
随机推荐
- Curved UI - VR Ready Solution To Bend Warp Your Canvas 1.7,1.8,2.2,2.3 四种版本压缩包(Unity UGUI曲面插件),可以兼容VRTK
Curved UI - VR Ready Solution To Bend Warp Your Canvas 1.7,1.8,2.2,2.3 四种版本压缩包(Unity UGUI曲面插件) 可以兼容V ...
- 【Unity】使用SceneManager加载/切换场景
一.直接切换 老版的(已弃用!): Application.LoadLevel(int index); // 参数是场景编号 Application.LoadLevel(string name); / ...
- java虚拟机和Dalvik虚拟机
java虚拟机和Dalvik虚拟机的区别: java虚拟机Dalvik虚拟机 java虚拟机基于栈. 基于栈的机器必须使用指令来载入和操作栈上数据,所需指令更多更多dalvik虚拟机是基于寄存器的 j ...
- 字符数组在C++、C#等语言中的操作
1.C++中操作数组 #include <iostream> using namespace std; int length(char []); void output_frequency ...
- 关于Cocos2d-x中实例伸缩后的位置设置
在有的时候觉得图片太大,会进行缩放,但是在设置位置的时候,用fire->getContentSize(),用的是它原来的大小,就会产生不能准确设置节点的现象 1.在设置伸缩比例的时候,记住比例值 ...
- 【转】MFC CreateFont 用法
中国人自古就有自右至左.从上到下书写汉字的习惯.而当我们在自己所编写的应用程序中使用输出函数输出的总是自左至右的横排文字.有没有可能在我们的应用程序中实现竖写汉字的效果呢?笔者偶然发现了一种利用VC实 ...
- linux -- ubuntu 安装apache后,修改默认路径
默认由apt方式安装的Apache,指定网页主目录位于:/var/www 而系统/var所分到的空间太少,所以要换路径 1.修改默认网站目录 ubuntu8.10下修改apache2的默认文档目录 默 ...
- 【java 类加载的深入研究1】loadClass()的研究
1.开门见山 以前曾经看到过一个java的面试题,当时觉得此题很简单,可是自己把代码运行起来,可是结果并不是自己想象的那样.题目如下: class SingleTon { private static ...
- js得到当前文档的编码:document.characterSet
<!DOCTYPE HTML> <html > <head> <meta charset="utf-8"> <!--meta ...
- _variant_t和_bstr_t
_variant_t和_bstr_t这两个类分别封装并管理VARIANT和BSTR这两种数据类型, VARIANT和BSTR这两种类型是COM中使用的数据类型. 实现_variant_t向int,St ...