iPhone文件读写
创建与删除:
//创建文件管理器
NSFileManager* fileManager = [NSFileManager defaultManager];
//获取路径
NSArray* paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
//取出需要的路径
NSString* documentsDirectory = [paths objectAtIndex:0];
//更改到待操作的目录下
[fileManager changeCurrentDirectoryPath:[documentsDirectory stringByExpandingTildeInPath]];
//创建文件fileName文件名称,contents文件的内容,如果开始没有内容可以设置为nil,attributes文件的属性,初始为nil
[fileManager createFileAtPath:@"fileName" contents:nil attributes:nil];
//删除文件
[fileManager removeItemAtPath:@"createdNewFile" error:nil];
写入数据:
//获取文件路径
NSString* path = [documentsDirectory stringByAppendingPathComponent:@"fileName"];
//待写入的数据
NSString* temp = @”Hello friend”;
int data0 = 100000;
float data1 = 23.45f;
//创建数据缓冲
NSMutableData* writer = [[NSMutableData alloc] init];
//将字符串添加到缓冲中
[writer appendData:[temp dataUsingEncoding:NSUTF8StringEncoding]];
//将其他数据添加到缓冲中
[writer appendBytes:&data0 length:sizeof(data0)];
[writer appendBytes:&data1 length:sizeof(data1)];
//将缓冲的数据写入到文件中
[writer writeToFile:path atomically:YES];
[writer release];
读取数据:
int gData0;
float gData1;
NSString *gData2;
NSData* reader = [NSData dataWithContentsOfFile:path];
gData2 = [[NSString alloc] initWithData:[reader subdataWithRange:NSMakeRange(0, [temp length])]
encoding:NSUTF8StringEncoding];
[reader getBytes:&gData0 range:NSMakeRange([temp length], sizeof(gData0))];
[reader getBytes:&gData2 range:NSMakeRange([temp length] + sizeof(gData0), sizeof(gData1))];
NSLog(@”gData0:%@ gData1:%i gData2:%f”, gData0, gData1, gData2);
读取工程中的文件:
读取数据时,要看待读取的文件原有的文件格式,是字节码还是文本,我经常需要重文件中读取字节码,所以我写的是读取字节文件的方式。
//用于存放数据的变量,因为是字节,所以是UInt8
UInt8 b = 0;
//获取文件路径
NSString* path = [[NSBundle mainBundle] pathForResource:@”fileName” ofType:@”"];
//获取数据
NSData* reader = [NSData dataWithContentsOfFile:path];
//获取字节的个数
int length = [reader length];
NSLog(@”——->bytesLength:%d”, length);
for(int i = 0; i < length; i++) { //读取数据 [reader getBytes:&b range:NSMakeRange(i, sizeof(b))]; NSLog(@”——–>data%d:%d”, i, b);
}
iPhone开发中文件读写教程是本文要介绍的内容,主要是来学习iphone开发中关于文件的操作,具体内容来看本文详细讲解。对于一个运行在iPhone得app,它只能访问自己根目录下得一些文件(所谓sandbox).。
一个app发布到iPhone上后,它得目录结构如下:
1、其中得 app root 可以用 NSHomeDirectory() 访问到;
2、Documents 目录就是我们可以用来写入并保存文件得地方,一般可通过:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0]; 得到。
3、tmp 目录我们可以在里面写入一些程序运行时需要用得数据,里面写入得数据在程序退出后会没有。可以通过
NSString* NSTemporaryDirectory(); 方法得到;
4、文件一些主要操作可以通过NSFileManager 来操作,可以通过 [NSFileManger defaultManger] 得到它得实例。
相关得一些操作:
创建一个目录:比如要在Documents下面创建一个test目录,
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSLog(@”%@”,documentsDirectory);
NSFileManager *fileManage = [NSFileManager defaultManager];
NSString *myDirectory = [documentsDirectory stringByAppendingPathComponent:@“test”];
BOOL ok = [fileManage createDirectoryAtPath:myDirectory attributes:nil];
取得一个目录下得所有文件名:(如上面的myDirectory)可用
NSArray *file = [fileManager subpathsOfDirectoryAtPath: myDirectory error:nil];
或
NSArray *files = [fileManager subpathsAtPath: myDirectory ];
读取某个文件:
NSData *data = [fileManger contentsAtPath:myFilePath];//myFilePath是包含完整路径的文件名
或直接用NSData 的类方法:
NSData* data = [NSData dataWithContentOfPath:myFilePath];
保存某个文件:
可以用 NSFileManager的
- (BOOL)createFileAtPath:(NSString *)path contents:(NSData *)data attributes:(NSDictionary *)attr;
或 NSData 的
- (BOOL)writeToFile:(NSString *)path atomically:(BOOL)useAuxiliaryFile;
- (BOOL)writeToFile:(NSString *)path options:(NSUInteger)writeOptionsMask error:(NSError **)errorPtr;
小结:详解iPhone开发中文件读写教程的内容介绍完了,希望通过本文的学习能对你有所帮助!
iPhone文件读写相关推荐
- IOS 文件读写操作详解及简单实例
iPhone 文件读写操作 1,写文件操作 - (IBAction)btnWrite:(id)sender {//创建文件管理器NSFileManager *fileManager = [NSFile ...
- python读取log文件_python文件读写(一)-txt, log, json, csv, xml文件
1.概述在平时自动化测试工作中,经常会用python对一些文件进行读写操作.其中使用最多的文件格式,就是txt, log, json, csv, xml, zip, tar, gz, ra ...
- iphone 文件操作以及文件管理
iPhone开发中文件读写教程是本文要介绍的内容,主要是来学习iphone开发中关于文件的操作,具体内容来看本文详细讲解.对于一个运行在iPhone得app,它只能访问自己根目录下得一些文件(所谓sa ...
- 关于python文件读写小结
读文件 打开一个文件用open()方法(open()返回一个文件对象,它是可迭代的): >>> f = open('test.txt', 'r') r表示是文本文件,rb是二进制文件 ...
- python第二十九课——文件读写(复制文件)
自定义函数:实现文件复制操作有形参(2个) 没有返回值相似版(不用) def copyFile(src,dest):#1.打开两个文件:1个关联读操作,1个关联写操作fr=open(src,'rb') ...
- 外网访问arm嵌入式linux_嵌入式Linux系统编程——文件读写访问、属性、描述符、API
Linux 的文件模型是从 Unix 的继承而来,所以 Linux 继承了 UNIX 本身的大部分特性,然后加以扩展,本章从 UNIX 系统接口来描述 Linux 系统结构的特性. 操作系统是通过一系 ...
- java大文件读写操作
转载自:http://blog.csdn.net/akon_vm/article/details/7429245 RandomAccessFile RandomAccessFile是用来访问那些保存数 ...
- 《C++程序设计POJ》《WEEK7 输入输出和模板》《流操纵算子》《文件读写》《二进制文件读写》...
函数指针,运算符重载 人懂我精,人精我深 用的时候查一查手册 dat 二进制文件 如果不指定文件夹,就是生成在当前文件夹,什么是当前文件夹?可执行文件所在的文件夹 绝对路径 相对路径 文件的读写指针 ...
- python知识点:文件读写以及其他基础知识点
常用模块 import os os.system()入参是一个字符串,一旦调用,这个字符串就会当作系统命令来执行. os.system('pwd') /home/ubuntu 交互式输入 name=r ...
最新文章
- 能写出HTML语言框架结构,HTML语言—框架最新.ppt
- readv和writev函数
- FCN网络的训练——以燃气表数字识别为例
- linux里hba状态_linux查看hba卡状态
- mysql不能设置密码_mysql不能设置密码
- IndexedDB 简单封装
- 轻量级linux iso,antiX 17.2 发布,基于Debian的轻量级Linux发行版
- linux下mysql启动失败问题解决(CentOS7)
- Java工程师必备资料,整合1G多jar包,网速慢也没关系,关注获取更多资源
- #MAXScript学习# 1批量导出fbx
- hdjs-图片 文件上传
- vue项目html5调取手机摄像头录像并上传
- Java联网3D坦克大战(网络编程)
- mongodb实现一主两从一个仲裁者
- 解决PPT不能插入页码问题
- 【喜报】“深度强化学习实验室”战略合作伙伴”南栖仙策“完成Pre-A轮融资,高瓴创投领投
- [svn]log命令
- 图像平滑c语言,OpenCV实现二值图像的边缘光滑处理
- XView小程序开源组件库
- C语言:编写访问ISA总线的小工具