iOS--对plist文件进行读写,增删改查

对plist文件进行读写

//获取路径对象
    NSArray *pathArray = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *path = [pathArray objectAtIndex:0];
    //获取文件的完整路径
    NSString *filePatch = [path stringByAppendingPathComponent:@"column.plist"];

    NSLog(@"%@",filePatch);

    //写入数据到plist文件
    NSMutableDictionary *dic1 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"小小虎",@"name",@"5",@"age",@"boy",@"sex",nil];

    NSMutableDictionary *dic2 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"小小兮",@"name",@"6",@"age",@"girl",@"sex",nil];

    //将上面2个小字典保存到大字典里面
    NSMutableDictionary *dataDic = [NSMutableDictionary dictionary];
    [dataDic setObject:dic1 forKey:@"一年级"];
    [dataDic setObject:dic2 forKey:@"二年级"];
    //写入plist里面
    [dataDic writeToFile:filePatch atomically:YES];

    //读取plist文件的内容
    NSMutableDictionary *dataDictionary = [[NSMutableDictionary alloc] initWithContentsOfFile:filePatch];
    NSLog(@"---plist一开始保存时候的内容---%@",dataDictionary);

对pilst文件进行修改

 //修改字典里面的内容,先按照结构取到你想修改内容的小字典
    NSMutableDictionary *dd = [dataDictionary objectForKey:@"一年级"];
    [dd setObject:@"我改名字了哦" forKey:@"name"];
    [dd setObject:@"我添加的新内容" forKey:@"content"];
    [dd removeObjectForKey:@"age"];

    //修改成功以后,将这个小字典重新添加到大字典里面
    [dataDictionary setObject:dd forKey:@"一年级"];

    [dataDictionary writeToFile:filePatch atomically:YES];
    NSLog(@"---plist做过操作之后的字典里面内容---%@",dataDictionary);

删除

//清除plist文件,可以根据我上面讲的方式进去本地查看plist文件是否被清除
    NSFileManager *fileMger = [NSFileManager defaultManager];

    NSString *xiaoXiPath = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)objectAtIndex:0]stringByAppendingPathComponent:@"xiaoxi.plist"];

    //如果文件路径存在的话
    BOOL bRet = [fileMger fileExistsAtPath:xiaoXiPath];

    if (bRet) {

        NSError *err;

        [fileMger removeItemAtPath:xiaoXiPath error:&err];
    }
时间: 2024-10-09 20:20:55

iOS--对plist文件进行读写,增删改查的相关文章

iOS使用sqlite3原生语法进行增删改查以及FMDB的使用

转载自:http://www.cnblogs.com/Steak/p/3802508.html 首先要导入libsqlite3.dylib并且加入头文件#import <sqlite3.h>,在进行增删改查之前还要先把数据库搞进去. 一种方法是从外面拷贝到程序里:http://www.cnblogs.com/Steak/p/3764395.html 另一种方法就是直接创建表,既然是操纵数据库,那么一定有一个数据库对象,sqlite是C库,所以需要一个C变量: 1 @interface DBHa

Python3练习:对员工信息文件,实现增删改查操作

1.练习要求: 2.数据文件(data_staff.txt) 1,Alex Li,22,13651054684,运维,2013-02-04 2,Jack Wang,20,13312331232,HR,2014-06-03 3,Mike Cao,20,15504231232,Sales,2013-05-06 4,Jack Chen,34,12404231232,HR,2011-02-01 5,Lu Haojie,21,15204231232,运维,2013-08-12 3.实现代码 A.主程序部分

文件操作之增删改查2以及文件打开的其他一些模式

read()会让你读取的光标变成最后. tell()把你现在文件的句柄的指针打印出来.文件的开头指针位置是0 72的意思代表字符的个数.下面的例子,只读取5个字符串个数: 如果你想把光标移回去,移动到首位f.seek(0) f.detach()在文件还没关闭之前,把文件编码从GBK改成UTF-8 f.encoding() 打印打开文件的编码:之前文件是用UTF-8打开的,所以这里显示UTF-8,注意并不是文件文件的存储编码是啥. f.fileno()返回文件的编号,windows有一个专门的接口

Python学习之路:文件操作之增删改查

f = open("yesterday","r",encoding="utf-8") #print(f.read()) #for i in range(5): # print(f.readline()) #打印前5行 #low loop ''' for index,line in enumerate(f.readline()): if index == 9: print('---------我是分割线---------') continue pr

文件操作之增删改查

对文件只读取一行readline() 如果我们想读取前5行: readlines()可以把文件读取为列表,每个元素为一行. 如果我们想循环文件一行一行读,到第10行不打印,显示分隔符: 这个方法不好,如果我们文件有20个G的文件,这个readlines()速度太慢,不合适! 我们必须一行一行的读,每次在内存里只保存一行.(readline()也不行,一行一行还是读到内存了),用如下的这个方法最好,每次在内存里只保留了一行数据!这个效率最高!在这里f是迭代器,并不是列表了! 用下面的的循环,来实现

Python3.5 day4作业:对员工信息文件,实现增删改查操作。

需求: 1.可进行模糊查询,语法至少支持下面3种: 1.select name,age from staff_table where age > 22 2.select  * from staff_table where dept = IT 3.查到的信息,打印后,最后面还要显示查到的条数 2.可创建新员工纪录,以phone做唯一键,staff_id需自增 3.可删除指定员工信息纪录,输入员工id,即可删除 4.可修改员工信息,语法如下: 1.UPDATE staff_table SET dep

python ------- 文件处理之增删改查-------作业

有点小bug,还待改进,代码如下: 1.查询: 输入:www.ordboy1.org 1 list = [] #创建一个空列表 2 flag = False #设置一个开关 3 input1 = input("plesae your input "www.oldboy1.org" :") 4 with open("haproxy.conf",encoding="utf-8") as f_read: #把源文件以utf-8格式打

怎么编写mybatis.xml文件,实现sql增删改查

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > <mapper namespace="com.shangyu.mapper.dsz.CarIn

IOS使用FMDB封装的数据库增删改查操作

// //  DBHelper.h //  LessonStoryBoard // //  Created by 袁冬冬 on 15/10/29. //  Copyright (c) 2015年 袁冬冬. All rights reserved. // #import <Foundation/Foundation.h> #import "FMDB.h" @interface DBHelper : NSObject @property (nonatomic, strong)