從工程項目中讀取文件的操作
(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]);