1. 程式人生 > >plist檔案操作總結

plist檔案操作總結

plist檔案類 (負責檔案的讀寫,刪除整個檔案)

#import "Plist.h"

@implementation Plist

- (void)writePlist:(NSMutableDictionary*)dictionary

{

NSArray *array = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDirectory, YES);

NSString *docPath = [[array objectAtIndex:0] stringByAppendingPathComponent:PLISTNAME

];

    [dictionary writeToFile:docPath atomically:YES];

    [array release];

}

- (void)readPlist:(NSMutableDictionary**)dictionary

{

NSArray *array = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDirectory, YES);

NSString *docPath = [[array objectAtIndex:0]stringByAppendingPathComponent:

PLISTNAME];

    *dictionary = [[NSMutableDictionary alloc] initWithContentsOfFile:docPath];

}

- (void)deletePlist

{

NSFileManager *fileManager = [NSFileManagerdefaultManager];

NSArray *array = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDirectory, YES);

NSString *docPath = [[array

objectAtIndex:0] stringByAppendingPathComponent:PLISTNAME];

    [fileManager removeItemAtPath:docPath error:nil];

}

@end

- (void)viewDidLoad

{

    [superviewDidLoad];

    //檔案讀寫

NSMutableDictionary *dictionary = [[NSMutableDictionaryalloc] init];

NSMutableDictionary *dictionary2 = [[NSMutableDictionaryalloc] init];

NSMutableArray *array = [[NSMutableArrayalloc] init];

NSMutableDictionary *dictionary1 = [[NSMutableDictionaryalloc] init];

    [dictionary1 setValue:@"001" forKey:@"harewareID"];

    [array addObject:dictionary1];

    [dictionary setValue:array forKey:@"CPU"];

     self.plist = [[Plist alloc] init];

     //呼叫寫檔案

     [self.plist writePlist:dictionary];

     //讀檔案

    [self.plist readPlist:&dictionary2];

NSMutableArray *array1 = [[NSMutableArrayalloc] init];

    array1 = [dictionary2 objectForKey:@"CPU"];

    NSString *str = [[array1 objectAtIndex:0] objectForKey:@"harewareID"];

    NSLog(@"%@",str);

   //檔案刪除

   [self.plistdeletePlist];

NSMutableDictionary *dictionary3 = [[NSMutableDictionaryalloc] init];

    [self.plist readPlist:&dictionary3];

NSMutableArray *array2 = [[NSMutableArrayalloc] init];

    array2 = [dictionary3 objectForKey:@"CPU"];

    NSString *str2 = [[array2 objectAtIndex:0] objectForKey:@"harewareID"];

    NSLog(@"%@",str2);

  //檔案內容更改,更改一條資料就是把dictionary內key重寫。這裡重新插入harewareID

NSMutableDictionary *dictionary6 = [[NSMutableDictionaryalloc] init];

NSMutableDictionary *dictionary5 = [[NSMutableDictionaryalloc] init];

NSMutableArray *array5 = [[NSMutableArrayalloc] init];

NSMutableDictionary *dictionary7 = [[NSMutableDictionaryalloc] init];

    [dictionary7 setValue:@"002" forKey:@"harewareID"];

    [array5 addObject:dictionary7];

    [dictionary6 setValue:array5 forKey:@"CPU"];

    [self.plist writePlist:dictionary6];

    [self.plist readPlist:&dictionary5];

NSMutableArray *array4 = [[NSMutableArrayalloc] init];

    array4 = [dictionary5 objectForKey:@"CPU"];

    NSString *str4 = [[array4 objectAtIndex:0] objectForKey:@"harewareID"];

    NSLog(@"%@",str4);