文件读写

在开发的过程中,经常碰见文件读写的时候,这里我就简单记录一些在ios开发里面的文件读写api,为了以后用着方便。
ios开发里面,文件的目录是固定的,可以用 NSHomeDirectory()方法读取项目文件的目录,
NSString* path = NSHomeDirectory();
这样得到的应用程序的主目录,基本是不会变的,完整的模拟器路径可能是这样的:/Users/cadamson/Libary/Application Support/iPhone Simulator/User/Applications/5c73EBC6-...-...-...-,最后一部分就是一个随机生成的应用程序ID,这个id每次构建应用时都会重新声成。当然,由于iphone的安全模型不允许访问到任何此目录之上的目录层次,所以这个目录的名称以及它上面目录的名称其实根本无关紧要

    在这个目录下面,有四个目录需要了解:

-Documents -- 这是用来储存用户文件的首选目录。

-Application - Name --这个目录是你的应用程序包,包括了nib文件,本地化资源,可以执行代码以及别的资源。

-Library --  这个目录作为Preference目录的父目录而单独存在

-tmp -- 


访问文件:

NSFileManager 是用来访问文件系统的主要类:

    NSFileManager *fileManager = [NSFileManager defaultManager];


<>查找文件:

NSArray *directoryPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectoryNSUserDomainMask,YES);

 

// 传递 0 代表是找在Documents 目录下的文件。

 NSString *documentDirectory = [paths objectAtIndex:0];

// DBNAME 是要查找的文件名字,文件全名 

NSString *filePath = [documentDirectory stringByAppendingPathComponent:DBNAME];

 

// 用这个方法来判断当前的文件是否存在,如果不存在,就创建一个文件

 

if ( ![fileManager fileExistsAtPath:path]) {

        [fileManager createFileAtPath:path contents:nil attributes:nil];  

    }


<3>读取文件数据:

   //分别用NSData 和NSString,NSMutableDictionary来读取文件内容

NSData* fileData = [NSData dataWithContentsOfFile:DBNAME];

 NSString* myString = [NSString stringWithContentsOfFile:DBNAME usedEncoding:NULL error:NULL];

 NSMutableDictionary* dict = [[NSMutableDictionary alloc]initWithContentsOfFile:fileName];

<4>把数据写入文件

 

 

 NSString* fileName = [[filePath objectAtIndex:0]stringByAppendingPathComponent:DBNAME];

[fileData writeToFile:fileName atomically:YES]











本文转自 卓行天下  51CTO博客,原文链接:http://blog.51cto.com/9951038/1772585,如需转载请自行联系原作者
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值