创建与删除:
//创建文件管理器
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文件读写相关推荐

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

    iPhone 文件读写操作 1,写文件操作 - (IBAction)btnWrite:(id)sender {//创建文件管理器NSFileManager *fileManager = [NSFile ...

  2. python读取log文件_python文件读写(一)-txt, log, json, csv, xml文件

    1.概述在平时自动化测试工作中,经常会用python对一些文件进行读写操作.其中使用最多的文件格式,就是txt,  log,  json,  csv,  xml,  zip, tar, gz,  ra ...

  3. iphone 文件操作以及文件管理

    iPhone开发中文件读写教程是本文要介绍的内容,主要是来学习iphone开发中关于文件的操作,具体内容来看本文详细讲解.对于一个运行在iPhone得app,它只能访问自己根目录下得一些文件(所谓sa ...

  4. 关于python文件读写小结

    读文件 打开一个文件用open()方法(open()返回一个文件对象,它是可迭代的): >>> f = open('test.txt', 'r') r表示是文本文件,rb是二进制文件 ...

  5. python第二十九课——文件读写(复制文件)

    自定义函数:实现文件复制操作有形参(2个) 没有返回值相似版(不用) def copyFile(src,dest):#1.打开两个文件:1个关联读操作,1个关联写操作fr=open(src,'rb') ...

  6. 外网访问arm嵌入式linux_嵌入式Linux系统编程——文件读写访问、属性、描述符、API

    Linux 的文件模型是从 Unix 的继承而来,所以 Linux 继承了 UNIX 本身的大部分特性,然后加以扩展,本章从 UNIX 系统接口来描述 Linux 系统结构的特性. 操作系统是通过一系 ...

  7. java大文件读写操作

    转载自:http://blog.csdn.net/akon_vm/article/details/7429245 RandomAccessFile RandomAccessFile是用来访问那些保存数 ...

  8. 《C++程序设计POJ》《WEEK7 输入输出和模板》《流操纵算子》《文件读写》《二进制文件读写》...

    函数指针,运算符重载 人懂我精,人精我深 用的时候查一查手册 dat 二进制文件 如果不指定文件夹,就是生成在当前文件夹,什么是当前文件夹?可执行文件所在的文件夹 绝对路径 相对路径 文件的读写指针 ...

  9. python知识点:文件读写以及其他基础知识点

    常用模块 import os os.system()入参是一个字符串,一旦调用,这个字符串就会当作系统命令来执行. os.system('pwd') /home/ubuntu 交互式输入 name=r ...

最新文章

  1. 能写出HTML语言框架结构,HTML语言—框架最新.ppt
  2. readv和writev函数
  3. FCN网络的训练——以燃气表数字识别为例
  4. linux里hba状态_linux查看hba卡状态
  5. mysql不能设置密码_mysql不能设置密码
  6. IndexedDB 简单封装
  7. 轻量级linux iso,antiX 17.2 发布,基于Debian的轻量级Linux发行版
  8. linux下mysql启动失败问题解决(CentOS7)
  9. Java工程师必备资料,整合1G多jar包,网速慢也没关系,关注获取更多资源
  10. #MAXScript学习# 1批量导出fbx
  11. hdjs-图片 文件上传
  12. vue项目html5调取手机摄像头录像并上传
  13. Java联网3D坦克大战(网络编程)
  14. mongodb实现一主两从一个仲裁者
  15. 解决PPT不能插入页码问题
  16. 【喜报】“深度强化学习实验室”战略合作伙伴”南栖仙策“完成Pre-A轮融资,高瓴创投领投
  17. [svn]log命令
  18. 图像平滑c语言,OpenCV实现二值图像的边缘光滑处理
  19. XView小程序开源组件库
  20. C语言:编写访问ISA总线的小工具

热门文章

  1. 美食短视频配音怎么做的?其实只需简单几步
  2. imaris如何导入3D结构数据,然后导出视频,导出图片
  3. 白酒防伪标签生产防窜货二维码制作印刷公司
  4. cmd 指令,定时强制关机
  5. 三国java卧龙_三国四大谋士:卧龙、凤雏、冢虎、鬼才,他们排名如何?
  6. iOS 电量消耗改善:一招套路及相关姿势
  7. 退货退款的售后,如何退还金币/有偿优惠券的问题
  8. 00关注成长 - 构建测试人员的能力体系
  9. SwiftUI 官方教程 (九)
  10. CSV文件拆分_行拆分