IOS 讀取Json文件、讀取plist文件

從工程項目中讀取文件的操作

(1)從工程項目中讀取Json文件

    NSString* jsonStr = nil;
     
    //第一種方法讀取
    NSString *mainBundleDirectory=[[NSBundle mainBundle] bundlePath];
    NSString *path=[mainBundleDirectory stringByAppendingPathComponent:@"route_points_demo.json"];
    NSURL *url=[NSURL fileURLWithPath:path];
    NSData *data = [[NSData alloc] initWithContentsOfURL:url];
    jsonStr=[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
    
    //第二種方法讀取
    NSString *filePath = [[NSBundle mainBundle] pathForResource:@"route_points_demo" ofType:@"json"];
    jsonStr  = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil];
    NSData *jaonData   = [[NSData alloc] initWithData:[jsonStr dataUsingEncoding:NSUTF8StringEncoding]];
    NSArray *allTrack = [NSJSONSerialization JSONObjectWithData:jaonData options:(NSJSONReadingMutableContainers) error:nil];


(2)從工程項目中讀取plist文件

    NSString *addressPath = [[NSBundle mainBundle] pathForResource:@"address" ofType:@"plist"];
    NSMutableDictionary *dict = [[NSMutableDictionary alloc]initWithContentsOfFile:addressPath];
    self.provinces = [dict objectForKey:@"address"];        //取出address數組



(3)從項目文件中讀取文件到NSData、NSString、NSFileHandle、NSFileManager實例中

    //第一種方法: NSFileManager實例方法讀取數據
    NSArray* paths = NSSearchPathForDirectoriesInDomains(NSDesktopDirectory, NSUserDomainMask, YES);
    NSString* thepath = [paths lastObject];
    thepath = [thepath stringByAppendingPathComponent:@"fd_list.txt"];
    NSLog(@"桌面目錄:%@", thepath);
    NSFileManager* fm = [NSFileManager defaultManager];
    NSData* data = [[NSData alloc] init];
    data = [fm contentsAtPath:thepath];
    NSLog(@"%@",[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]);
    
    
    //第二種方法: NSData類方法讀取數據
    data = [NSData dataWithContentsOfFile:thepath];
    NSLog(@"NSData類方法讀取的內容是:%@",[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]);
    
    
    //第三種方法: NSString類方法讀取內容
    NSString* content = [NSString stringWithContentsOfFile:thepath encoding:NSUTF8StringEncoding error:nil];
    NSLog(@"NSString類方法讀取的內容是:\n%@",content);
    
    
    //第四種方法: NSFileHandle實例方法讀取內容
    NSFileHandle* fh = [NSFileHandle fileHandleForReadingAtPath:thepath];
    data = [fh readDataToEndOfFile];
    NSLog(@"NSFileHandle實例讀取的內容是:\n%@", [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]);




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章