读取文件内容到NSString

============================================================
博文原创,转载请声明出处
电子咖啡(原id蓝岩)
============================================================

读取文件内容到NSString,我使用以下代码

 NSString *filePath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"push实现.txt"];   
    
    NSError* err=nil;
    NSString* mTxt=[NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:&err];
   
    NSLog(@"err:%@",err);
    
    NSLog(@"filePath:%@",filePath);
    NSLog(@"mTxt:%@",mTxt);

出错了,log为:

2013-05-23 12:35:36.374 Paging[26149:11303] err:Error Domain=NSCocoaErrorDomain Code=261 "The operation couldn’t be completed. (Cocoa error 261.)" UserInfo=0x8868b00 {NSFilePath=/Users/ericyang/Library/Application Support/iPhone Simulator/6.1/Applications/A3D216E7-DC10-48C3-AD40-302573D8C069/Paging.app/push实现.txt, NSStringEncoding=4}
2013-05-23 12:35:36.375 Paging[26149:11303] filePath:/Users/ericyang/Library/Application Support/iPhone Simulator/6.1/Applications/A3D216E7-DC10-48C3-AD40-302573D8C069/Paging.app/push实现.txt
2013-05-23 12:35:36.375 Paging[26149:11303] mTxt:(null)

找到原因,是编码问题,我的文件应该是GBK的,修改代码:


 NSString *filePath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"push实现.txt"];   
    
    unsigned long encode = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);    
    NSData *responseData = [NSData dataWithContentsOfFile:filePath];
    NSString *mTxt = [[NSString alloc] initWithData:responseData encoding:encode];
    
    NSLog(@"filePath:%@",filePath);
    NSLog(@"mTxt:%@",mTxt);

ok,正常打印。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值