读取plist文件操作|如何对plist文件添加删除数据

⑴ 如何对.plist文件添加,删除数据

主要操作:1.//获得plist路径 -(NSString*)getPlistPath;2.//判断沙盒中名为plistname的文件是否存在 -(BOOL) isPlistFileExists;3.//读取沙盒中Document文件夹下的BookList.plist文件 [:plistPath];4.//写入文件 if ([plistDictionary writeToFile:plistPath atomically:YES]) WBBooksManager.m文件:#import "WBBooksManager.h"@implementation WBBooksManagerstatic WBBooksManager *g_instance = nil;+ (WBBooksManager *)sharedInstance{ @synchronized(self) { if ( g_instance == nil ) { g_instance = [[self alloc] init]; } } return g_instance;}//获得plist路径-(NSString*)getPlistPath{ //沙盒中的文件路径 NSArray *storeFilePath = (NSDocumentDirectory, NSUserDomainMask, YES); NSString *doucumentsDirectiory = [storeFilePath objectAtIndex:0]; NSString *plistPath =[doucumentsDirectiory :@"WBBooks.plist"]; //根据需要更改文件名 return plistPath;}//判断沙盒中名为plistname的文件是否存在-(BOOL) isPlistFileExists{ NSString *plistPath =[[WBBooksManager sharedInstance]getPlistPath]; NSFileManager *fileManager = [NSFileManager defaultManager]; if( [fileManager fileExistsAtPath:plistPath]== NO ) { NSLog(@"not exists"); return NO; }else{ return YES; } }-(void)initPlist{ NSString *plistPath = [[WBBooksManager sharedInstance] getPlistPath]; //如果plist文件不存在,将工程中已建起的plist文件写入沙盒中 if (! [[WBBooksManager sharedInstance] isPlistFileExists]) { //从自己建立的plist文件 复制到沙盒中 ,方法一 NSError *error; NSFileManager *fileManager = [NSFileManager defaultManager]; NSString *bundle = [[NSBundle mainBundle] pathForResource:@"WBBooks" ofType:@"plist"]; [fileManager ItemAtPath:bundle toPath:plistPath error:&error]; //方法二 // NSString *path = [[NSBundle mainBundle] pathForResource:@"WBBooks"ofType:@"plist"]; // NSMutableDictionary *activityDics = [[NSMutableDictionary alloc] initWithContentsOfFile:path]; // [activityDics writeToFile:plistPath atomically:YES]; }}//判断key的书是否存在-(BOOL)isBookExistsForKey:(NSString*)key{ NSString *plistPath = [[WBBooksManager sharedInstance] getPlistPath]; NSMutableDictionary *WBBooksDictionary = [[NSMutableDictionary alloc] initWithContentsOfFile:plistPath]; //根目录下存在名为bookname的字典 if ([WBBooksDictionary objectForKey:key]) { return YES; }else{ return NO; }}//根据key值删除对应书籍-(void)removeBookWithKey:(NSString *)key{ NSString *plistPath = [[WBBooksManager sharedInstance] getPlistPath]; NSMutableDictionary *WBBooksDictionary = [[NSMutableDictionary alloc] initWithContentsOfFile:plistPath]; [WBBooksDictionary removeObjectForKey:key]; [WBBooksDictionary writeToFile:plistPath atomically:YES]; //删除后重新写入 }//删除plistPath路径对应的文件-(void)deletePlist{ NSFileManager *fileManager = [NSFileManager defaultManager]; NSString *plistPath = [[WBBooksManager sharedInstance] getPlistPath]; [fileManager removeItemAtPath:plistPath error:nil]; }//将dictionary写入plist文件,前提:dictionary已经准备好-(void)writePlist:(NSMutableDictionary*)dictionary forKey:(NSString *)key{ NSMutableDictionary *plistDictionary = [[NSMutableDictionary alloc]init]; //如果已存在则读取现有数据 if ([[WBBooksManager sharedInstance]isPlistFileExists]) { plistDictionary = [[WBBooksManager sharedInstance]readPlist]; }//增加一个数据 [plistDictionary setValue:dictionary forKey:key]; //在plistDictionary增加一个key为…的value NSString *plistPath = [[WBBooksManager sharedInstance] getPlistPath]; if([plistDictionary writeToFile:plistPath atomically:YES]){ NSLog(@"write ok!"); }else{ NSLog(@"ddd"); } }//-(NSMutableDictionary*)readPlist{ NSString *plistPath = [[WBBooksManager sharedInstance] getPlistPath]; NSMutableDictionary *resultDictionary = [[NSMutableDictionary alloc]initWithContentsOfFile:plistPath]; return resultDictionary;}//读取plist文件内容复制给dictionary 备用-(void)readPlist:(NSMutableDictionary **)dictionary{ NSString *plistPath = [[WBBooksManager sharedInstance] getPlistPath]; *dictionary = [[NSMutableDictionary alloc] initWithContentsOfFile:plistPath];}//更改一条数据,就是把dictionary内key重写-(void)replaceDictionary:(NSMutableDictionary *)newDictionary withDictionaryKey:(NSString *)key{ [[WBBooksManager sharedInstance]removeBookWithKey:key]; [[WBBooksManager sharedInstance]writePlist:newDictionary forKey:key];}-(NSInteger)getBooksCount{ NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init]; dictionary = [[WBBooksManager sharedInstance] readPlist]; return [dictionary count]; }

⑵ js可以操作plist文件吗

js可以操作plist文件的

使用js读取文件的放松即可

读文件:functionreadFile(filename){varfso=newActiveXObject("Scripting.FileSystemObject");varf=fso.OpenTextFile(filename,1);vars="";while(!f.AtEndOfStream)s+=f.ReadLine()+"";f.Close();returns;}

⑶ 请问如何读入数据,plist文件(用记事本即可打开)

plist文件用记事本打开方法如下:1.打开系统记事本程序:2.输入System.Diagnostics.Process.Start("notepad.exe")3.用记事本程序打开一个txt文件:例如在D盘的【abc.txt】文件,传入文件的路径参数即可,如下:System.Diagnostics.Process.Start("notepad.exe","D:\\a.txt");

⑷ iOS 中 plist 文件的使用

解释一下,plist 文件就是 Property List 文件,我们在 Xcode 中新建一个 Project 的时候,在 Project 中可以看到有一个 Info.plist 文件,这种以 .plist 后缀结尾的文件是以 key-value 键值对的形式保存数据的。在开发中,我们可以使用这些 plist 文件保存一些系统配置、用户信息等的信息,炒鸡方便。 这样吧,我搞一个 plist 文件,里面放有一些城市列表数据,然后把它读取出来。 新建一个 Property List 文件(以下简称 plist 文件),姑且起个名字 Cities.plist 打开 Cities.plist 文件,发现它可以存储 Array(数组)和 Dictionary(字典)数据 由于城市列表就是个数组,所以我们在 Root 这个 key 中的 Type 选择 Array,并往里面添加点城市数据 添加完模拟数据,才发现添加的不是城市数据…算了,当作城市吧 其实 plist 文件本质就是一个 xml 文件 控制台打印: 这样拿到数据就可以对它进行一些处理了。 好吧,我只是经常要用到记录一下而已🌚

⑸ 用触动怎么读取plist的数组

.plist文件里面放的可能是数组也可能是字典,我们如果直接用NSLog方法打印数组,字典的时候,我们会得到的就是这样的编码格式的内容,这显然是不能用在android的,所以我们的思路是要将.plist中的内容打印为我们能处理的内容,那就是JsonString了。所以iOS这边的做法,如图片所示,先将plist文件放入,然后读取出内部的数组信息,然后用SBJson转化为NSString,然后在NSLog打印出来,运行程序我们会得到

⑹ iOS开发,plist文件读写操作

这里有一点需要注意: 命名的时候不能用Info.plist , INfo.plist, xxxInfo.plist等形式,否则会与系统中存在的Info.plist文件发生冲突。 点击Root这一行,然后通过点击右键->Add Row或者点击Root后面的加号来增加一行。 这一行中包含三个属性,key、type、value。其中key是字段属性,type是字段类型,value是字段对应的值。 Type包含7中类型,对写入的数据结构应属于7仲: (NSString,NSData,NSDate,NSNumber,NSArray,NSDictionary) 读取数据 文件是什么类型,就用什么类型的数据来接收 参考文档1: iOS开发,plist文件读写那些事 参考文档2: iOS开发中怎么创建Plist文件 参考文档3: 【iOS】plist无法写入的原因 参考文档4: plist 文件写入与读取

⑺ 如何读取ipa目录里面的 iTunesMetadata.plist这个文件的内容

1. 直接删除iTunesMetadata.plist文件2. 修改iTunesMetadata.plist文件的访问权限,将用户的“读取、写入”全部取消。注意:如果这时直接退出程序,所做的修改并没有被确认。所以访问权限修改后必须退回到上一级目录,然后再退出程序。3. 重新打开Appstore程序,会发现Appbox已经没有更新提示了。

⑻ Jenkins打包后续:Shell脚本自动修改build号,并提交TestFlight

1、自动修改Build号,并生成提交,push到远程分支上; 2、开始打Release包,并导出IPA文件; 3、利用Application Loader插件实现自动上传。

前提:Jenkins相关配置已经完成,发布证书、本地Git用户、push到Git上的权限账户等都已配置完成,如果配置未完成,部分错误在后面会出现,再补上也OK。

(1)先取到当前Build号,Shell中读取plist文件的方法比较简单,利用的是Mac中操作plist文件的PlistBuddy,路径在/usr/libexec/PlistBuddy下,这点在之前的文章中写过: Jenkins 自动打包后打一个tag并同步到origin 。

(2)将版本号(示例:1.0.8.3)先分割字符串,取到最后一个元素(可能会是2位数字或者3位数字),然后把最后一个元素转数字,再 +1 ,再转回字符串。

(3)进行字符串拼接,最终效果:1.0.8.4

(4)将新的Build号写入info.plist文件

(1)生成提交描述:

(2)到对应的Git目录下进行Git操作

写成两个Shell步骤即可:

这点在之前的Jenkins文章中写过了,主要是利用xcbuild命令去做的,这里要注意的就是打包的类型要又debug改为release即可。

⑼ 如何/怎么查看和编辑plist文件

1:首先,打开同步助手,然后连接手机(或者iPad),点击更多功能。

2:或者点文件,也可以进入U盘,进行文件存放。

3:到更多功能,点U盘,这个U盘是可以存放东西,也可以将plist文件放进去。

4:可以直接选中plist拖拽进入,或者点导入,导入plist文件进去。

5:双击打开plist文件,就可以进行编辑了,编辑完毕之后,记得要点保存,才修改有效。

⑽ xcode怎么获取plist文件

创建.plist文件。 方法: 1、选中Xcode,File-New-File…; 2、在工程目录处右键,New File…; 3、选中Xcode,使用快捷方式cmd+n组合键; 4、代码创建(往后说明步骤)。 效果如图。可以选择iOS和OS X中任意一个“Resource”中的“Property List”创建并命名保存。当前名称为:usersList.plist。iOS开发 plist文件操作往.plist文件添加数据并显示 在Xcode项目中点击usersList.plist,可以打开显示usersList.plist文件中的内容。 可以在空白处右键“Add Row”添加数据或者点中“root”行,点击“+”号即可添加。一般数据类型(Type)可以选择Array、Dictionary、String等类型。同时也可以给添加的数据赋值(Value)。 除了以Property List列表形式显示外,选中usersList.plist文件,右键“Open As”-“Source Code”可以以XML格式显示。当前操作结果如图。iOS开发 plist文件操作iOS开发 plist文件操作使用代码创建.plist文件。//获取本地沙盒路径 NSArray *path = (NSDocumentDirectory, NSUserDomainMask, YES); //获取完整路径 NSString *documentsPath = [path objectAtIndex:0]; NSString *plistPath = [documentsPath :@"usersList.plist"]; NSMutableDictionary *usersDic = [[NSMutableDictionary alloc ] init]; //设置属性值 [usersDic setObject:@"chan" forKey:@"name"]; [usersDic setObject:@"123456" forKey:@"password"]; //写入文件 [usersDic writeToFile:plistPath atomically:YES];iOS开发 plist文件操作添加修改数据操作 添加或修改已有数据。此文件不是已有的usersList.plist文件,而是存在沙盒里面的文件。usersList.plist内容是不变的。需要查看可以到模拟器沙盒查看。//获取已有完整路径 NSString *plistPath = [[NSBundle mainBundle] pathForResource:@"usersList" ofType:@"plist"]; NSMutableDictionary *usersDic = [[NSMutableDictionary alloc]initWithContentsOfFile:plistPath]; //设置属性值,没有的数据就新建,已有的数据就修改。 [[usersDic objectForKey:@"users"] setObject:@"逗比" forKey:@"name"]; [[usersDic objectForKey:@"users"] setObject:@"dbdbdb" forKey:@"password"]; //写入文件 [usersDic writeToFile:plistPath atomically:YES];如果是想用其他文件名称可以根据路径创建新plist文件NSString *filename=[plistPath :@"test.plist"];//已有该名称文件就不新建,没有就新建。如要多层次结构,则如图。iOS开发 plist文件操作


赞 (0)