iOS 文件操作
2015-07-31 13:58
423 查看
将字符串,数组,字典中的数据写入文件中保存
Documents:苹果建议将程序创建产生的文件以及应用浏览产生的文件数据保存在该目录下,iTunes备份和恢复的时候会包括此目录
Library:存储程序的默认设置或其它状态信息;
Library/Caches:存放缓存文件,保存应用的持久化数据,用于应用升级或者应用关闭后的数据保存,不会被itunes同步,所以为了减少同步的时间,可以考虑将一些比较大的文件而又不需要备份的文件放到这个目录下。
tmp:提供一个即时创建临时文件的地方,但不需要持久化,在应用关闭后,该目录下的数据将删除,也可能系统在程序不运行的时候清除。
/*
获取引用沙盒根路径
*/
NSString *str = NSHomeDirectory();
NSLog(@"app_home :%@",str);
/*
获取Documents目录路径
*/
NSArray *docPaths =
NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
NSUserDomainMask, YES);
NSString *documentsDirectory = [docPaths
objectAtIndex:0];
NSLog(@"app_home_doc: %@",documentsDirectory);
/*
获取Library目录路径
*/
NSArray *LibPaths =
NSSearchPathForDirectoriesInDomains(NSLibraryDirectory,
NSUserDomainMask, YES);
NSString *libraryDirectory = [LibPaths
objectAtIndex:0];
NSLog(@"app_home_lib: %@",libraryDirectory);
/*
获取Cache目录路径
*/
NSArray *cahPaths =
NSSearchPathForDirectoriesInDomains(NSCachesDirectory,
NSUserDomainMask, YES);
NSString *cacheDirectory = [cahPaths
objectAtIndex:0];
NSLog(@"app_home_cah: %@",cacheDirectory);
/*
获取Tmp目录路径
*/
NSString *tmpDirectory =
NSTemporaryDirectory();
NSLog(@"app_home_tmp: %@",tmpDirectory);
/*
对文件的具体操作,创建文件夹
*/
NSFileManager *fileManager = [NSFileManager
defaultManager];
NSString *testDirectory = [documentsDirectory
stringByAppendingPathComponent:@"test"];
/*
创建目录
*/
BOOL resDirectory = [fileManager
createDirectoryAtPath:testDirectory withIntermediateDirectories:YES
attributes:nil
error:nil];
if (resDirectory) {
NSLog(@"文件夹创建成功");
}else{
NSLog(@"文件夹创建失败");
}
/*
创建文件
*/
NSString *testPath = [testDirectory
stringByAppendingPathComponent:@"test.txt"];
BOOL resFile = [fileManager
createFileAtPath:testPath contents:nil
attributes:nil];
if (resFile) {
NSLog(@"文件创建成功");
}else{
NSLog(@"文件创建失败");
}
/******************************(字符串)************************/
/*
写数据(字符串)到文件
*/
NSString *writeContent =
@"测试写入内容";
BOOL res = [writeContent
writeToFile:testPath atomically:YES
encoding:NSUTF8StringEncoding
error:nil];
if (res) {
NSLog(@"文件写入成功");
}else{
NSLog(@"文件写入失败");
}
/*
读取(字符串)文件
*/
NSString *readContent = [NSString
stringWithContentsOfFile:testPath encoding:NSUTF8StringEncoding
error:nil];
NSLog(@"文件读取成功: %@",readContent);
/******************************(数组)************************/
/*
写数据(数组)到文件
*/
NSArray *writeArrcontent = [NSArray
arrayWithObjects:@"1",@"luo",@"asdf",
nil];
BOOL resArr = [writeArrcontent
writeToFile:testPath atomically:YES];
if (resArr) {
NSLog(@"数组写入成功");
}else{
NSLog(@"数组写入失败");
}
/*
读取(数组)文件
*/
NSArray *arr = [NSArray
arrayWithContentsOfFile:testPath];
for (NSString *str
in arr) {
NSLog(@"%@",str);
}
NSLog(@"文件读取成功");
/******************************(字典)************************/
/*
写数据(字典)到文件
*/
NSDictionary *writeDicContent = [NSDictionary
dictionaryWithObjectsAndKeys:@"valu1",@"key1" ,@"value2",@"key2",nil];
BOOL resDic = [writeDicContent
writeToFile:testPath atomically:YES];
if (resDic) {
NSLog(@"字典写入成功");
}else{
NSLog(@"字典写入失败");
}
/*
读取(字典)文件
*/
NSDictionary *dic = [NSDictionary
dictionaryWithContentsOfFile:testPath];
for (NSString *str
in dic) {
NSLog(@"key %@ for value %@",str,[dic
objectForKey:str]);
}
/*
文件属性
*/
NSDictionary *fileAttributes = [fileManager
attributesOfItemAtPath:testPath error:nil];
for (NSString *keyString
in fileAttributes) {
NSLog(@"key: %@ for value: %@",keyString,[fileAttributes
valueForKey:keyString]);
}
/*
删除文件
*/
BOOL deleteRes = [fileManager
removeItemAtPath:testPath error:nil];
if (deleteRes) {
NSLog(@"文件删除成功");
}else{
NSLog(@"文件删除失败");
}
NSLog(@"文件是否存在:%@",[fileManager
isExecutableFileAtPath:testPath] ?
@"YES" : @"NO");
Documents:苹果建议将程序创建产生的文件以及应用浏览产生的文件数据保存在该目录下,iTunes备份和恢复的时候会包括此目录
Library:存储程序的默认设置或其它状态信息;
Library/Caches:存放缓存文件,保存应用的持久化数据,用于应用升级或者应用关闭后的数据保存,不会被itunes同步,所以为了减少同步的时间,可以考虑将一些比较大的文件而又不需要备份的文件放到这个目录下。
tmp:提供一个即时创建临时文件的地方,但不需要持久化,在应用关闭后,该目录下的数据将删除,也可能系统在程序不运行的时候清除。
/*
获取引用沙盒根路径
*/
NSString *str = NSHomeDirectory();
NSLog(@"app_home :%@",str);
/*
获取Documents目录路径
*/
NSArray *docPaths =
NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
NSUserDomainMask, YES);
NSString *documentsDirectory = [docPaths
objectAtIndex:0];
NSLog(@"app_home_doc: %@",documentsDirectory);
/*
获取Library目录路径
*/
NSArray *LibPaths =
NSSearchPathForDirectoriesInDomains(NSLibraryDirectory,
NSUserDomainMask, YES);
NSString *libraryDirectory = [LibPaths
objectAtIndex:0];
NSLog(@"app_home_lib: %@",libraryDirectory);
/*
获取Cache目录路径
*/
NSArray *cahPaths =
NSSearchPathForDirectoriesInDomains(NSCachesDirectory,
NSUserDomainMask, YES);
NSString *cacheDirectory = [cahPaths
objectAtIndex:0];
NSLog(@"app_home_cah: %@",cacheDirectory);
/*
获取Tmp目录路径
*/
NSString *tmpDirectory =
NSTemporaryDirectory();
NSLog(@"app_home_tmp: %@",tmpDirectory);
/*
对文件的具体操作,创建文件夹
*/
NSFileManager *fileManager = [NSFileManager
defaultManager];
NSString *testDirectory = [documentsDirectory
stringByAppendingPathComponent:@"test"];
/*
创建目录
*/
BOOL resDirectory = [fileManager
createDirectoryAtPath:testDirectory withIntermediateDirectories:YES
attributes:nil
error:nil];
if (resDirectory) {
NSLog(@"文件夹创建成功");
}else{
NSLog(@"文件夹创建失败");
}
/*
创建文件
*/
NSString *testPath = [testDirectory
stringByAppendingPathComponent:@"test.txt"];
BOOL resFile = [fileManager
createFileAtPath:testPath contents:nil
attributes:nil];
if (resFile) {
NSLog(@"文件创建成功");
}else{
NSLog(@"文件创建失败");
}
/******************************(字符串)************************/
/*
写数据(字符串)到文件
*/
NSString *writeContent =
@"测试写入内容";
BOOL res = [writeContent
writeToFile:testPath atomically:YES
encoding:NSUTF8StringEncoding
error:nil];
if (res) {
NSLog(@"文件写入成功");
}else{
NSLog(@"文件写入失败");
}
/*
读取(字符串)文件
*/
NSString *readContent = [NSString
stringWithContentsOfFile:testPath encoding:NSUTF8StringEncoding
error:nil];
NSLog(@"文件读取成功: %@",readContent);
/******************************(数组)************************/
/*
写数据(数组)到文件
*/
NSArray *writeArrcontent = [NSArray
arrayWithObjects:@"1",@"luo",@"asdf",
nil];
BOOL resArr = [writeArrcontent
writeToFile:testPath atomically:YES];
if (resArr) {
NSLog(@"数组写入成功");
}else{
NSLog(@"数组写入失败");
}
/*
读取(数组)文件
*/
NSArray *arr = [NSArray
arrayWithContentsOfFile:testPath];
for (NSString *str
in arr) {
NSLog(@"%@",str);
}
NSLog(@"文件读取成功");
/******************************(字典)************************/
/*
写数据(字典)到文件
*/
NSDictionary *writeDicContent = [NSDictionary
dictionaryWithObjectsAndKeys:@"valu1",@"key1" ,@"value2",@"key2",nil];
BOOL resDic = [writeDicContent
writeToFile:testPath atomically:YES];
if (resDic) {
NSLog(@"字典写入成功");
}else{
NSLog(@"字典写入失败");
}
/*
读取(字典)文件
*/
NSDictionary *dic = [NSDictionary
dictionaryWithContentsOfFile:testPath];
for (NSString *str
in dic) {
NSLog(@"key %@ for value %@",str,[dic
objectForKey:str]);
}
/*
文件属性
*/
NSDictionary *fileAttributes = [fileManager
attributesOfItemAtPath:testPath error:nil];
for (NSString *keyString
in fileAttributes) {
NSLog(@"key: %@ for value: %@",keyString,[fileAttributes
valueForKey:keyString]);
}
/*
删除文件
*/
BOOL deleteRes = [fileManager
removeItemAtPath:testPath error:nil];
if (deleteRes) {
NSLog(@"文件删除成功");
}else{
NSLog(@"文件删除失败");
}
NSLog(@"文件是否存在:%@",[fileManager
isExecutableFileAtPath:testPath] ?
@"YES" : @"NO");
相关文章推荐
- iOS关于操作本地文件详解
- iOS 常用操作之文件操作
- iOS沙盒与Bundle详解及文件操作
- iOS 简单的猜颜色游戏 界面设计的比较简单 - -
- iOS8新特性扩展(Extension)应用之四——自定义键盘控件
- IOS:ios最简单的控件练习
- ios NSNotificationCenter 的简单使用
- iOS8 iPAD上弹出所谓的ActionSheet
- iOS 如何获取屏幕大小
- iOS应用内付费(IAP)开发步骤列表
- 【转】如何入门iOS开发
- iOS画线
- iOS提交后申请加急审核
- iOS CGRectInset,CGRectOffset
- ios命名规范
- iOS- 如何集成支付宝
- iOS storyboard 添加Entry point
- iOS 利用AVPlayer创建视频播放器
- iOS开发小技巧
- ios开发小技巧