从文件系统读取字典文件活和字典文件保存到文件
来源:互联网 发布:邮票淘宝 编辑:程序博客网 时间:2024/05/29 08:10
从文件系统读取字典文件活和字典文件保存到文件
(1)将字典保存到文件系统中
问题
你想将字典中的对象保存到文件系统中以供日后或是其他程序使用。
解决方案
如果字典中包含数字或字符串对象的列表,那么可以将所有这些对象保存到文件系统中以供后续使用,使用writeToFile:atomically:方法可以做到这一点。注意,该方法无法处理自定义对象。
说明
该攻略需要创建如下字典,其中的内容是与键匹配的短语:
NSArray *listOfObjects = [NSArray arrayWithObjects:@"Hello World", @"Bonjour tout le monde", @"Hola Mundo", nil];NSArray *listOfKeys = [NSArray arrayWithObjects:@"english", @"french", @"spanish", nil];NSDictionary *dictionary = [NSDictionary dictionaryWithObjects:listOfObjects forKeys:listOfKeys];要想将字典保存到文件系统中,首先需要获得如下文件引用:
NSString *filePathName = @"/Users/Shared/dictionary.txt";
现在可以使用writeToFile:atomically:方法将字典内容写到Mac 文件系统中:
[dictionary writeToFile:filePathName atomically:YES];参见程序清单1-1。
代码
程序清单1-1 main.m
#import <Foundation/Foundation.h>int main (int argc, const char * argv[]){ @autoreleasepool { NSArray *listOfObjects = [NSArray arrayWithObjects:@"Hello World", @"Bonjour tout le monde", @"Hola Mundo", nil]; NSArray *listOfKeys = [NSArray arrayWithObjects:@"english", @"french", @"spanish", nil]; NSDictionary *dictionary = [NSDictionary dictionaryWithObjects:listOfObjects forKeys:listOfKeys]; NSString *filePathName = @"/Users/Shared/dictionary.txt"; [dictionary writeToFile:filePathName atomically:YES]; } return 0;}
使用
要想使用上述代码,请从Xcode 构建并运行Mac 应用。使用Finder 找到创建的文件,位于/Users/Shared/dictionary.txt。下面列出文本文件的内容:
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN""http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"><dict> <key>english</key> <string>Hello World</string> <key>french</key> <string>Bonjour tout le monde</string> <key>spanish</key> <string>Hola Mundo</string></dict></plist>数据以XML 格式组织为属性列表(一种存储键数据的Objective-C 格式)。
(2)从文件系统读取字典
问题
有一些应用可以访问到的文件,其中包含了以字典形式组织的内容,你想在应用中使用这些内容。
解决方案
如果有了通过字典创建的文件(使用writeToFile:atomically:方法保存),那么可以使用initWithContentsOfFile:构造函数实例化新的字典,新字典是由文件内容构成的。
说明
本攻略使用1-1 节中的文件(已将字典的内容保存到文件系统中)。因此,这里会使用相同的文件路径名:
NSString *filePathName = @"/Users/Shared/dictionary.txt";
接下来就可以使用initWithContentsOfFile:构造函数创建由文件内容构成的新字典:
NSDictionary *dictionary = [[NSDictionary alloc] initWithContentsOfFile:filePathName];参见程序清单1-2。
代码
程序清单1-2 main.m
#import <Foundation/Foundation.h>int main (int argc, const char * argv[]){ @autoreleasepool { NSString *filePathName = @"/Users/Shared/dictionary.txt"; NSDictionary *dictionary = [[NSDictionary alloc] initWithContentsOfFile:filePathName]; NSLog(@"dictionary: %@", dictionary); } return 0;}使用
要想使用上述代码,请从Xcode 构建并运行Mac 应用。可通过日志查看字典的内容:
dictionary: { english = "Hello World"; french = "Bonjour tout le monde"; spanish = "Hola Mundo";}
阅读全文
0 0
- 从文件系统读取字典文件活和字典文件保存到文件
- swift 数组和字典保存到文件中
- XNA:保存数据到文件和从文件读取数据
- python读文件保存到字典,修改字典并写入新文件
- 从URL读取文件保存到本地
- 将字典中的数据保存到plist文件中
- iOS 字典和数组写入plist文件存到应用沙盒当中(含读取)
- Android保存String到文件和从文件中读取String
- 数据字典和控制文件
- 保存和读取文件
- 文件保存和读取
- 文件保存和读取
- 文件保存和读取
- 从剪贴板读取并保存图片到文件
- 从剪贴板读取并保存图片到文件
- android--登录例子,保存用户名和密码到这个应用所在文件中,从文件中读取用户名和密码
- iOS开发——保存自定义对象数组、字典到文件
- iOS(Swift)使用字典NSMutableDictionary保存数据到文件(持久化)
- idea上maven项目clean后之后遇到的坑
- 动态拼接方法执行,反射强大的反射
- [ETH]以太坊或会推出首个卡斯帕测试网
- UE4蓝图节点翻译---Get Sequence Binding
- Kendo UI grid数据聚合实例
- 从文件系统读取字典文件活和字典文件保存到文件
- 优达(Udacity)-机器学习基础-数据集与问题(安然数据集)
- POJ 1584(判断凸包+点和凸多边形关系+圆和凸多边形关系)
- 想成为linux大牛,却还在打王者荣耀?怎么办
- 多线程下载
- 2017常用管道仪表流程图符号集合
- 1127: 矩阵乘积
- 娓娓道来c指针 (1)指针就是地址
- tp3.2 setInc返回值是