首页 > NSFileHandle读取中文txt文件问题

NSFileHandle读取中文txt文件问题

NSFileHandle *fileHandle = [NSFileHandle fileHandleForReadingAtPath:filePath];

unsigned long long startLocation = xx;

[fileHandle seekToFileOffset:startLocation];

NSInteger length = 100;

NSData *data  = [fileHandle readDataOfLength: length];

NSString *labelText = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];

[fileHandle closeFile];    

现有问题,一个中文占2个字符,而NSFileHandle 是按字节读取的,假设文件内容是“我们当然希望你的问题被回答而不仅仅是提问,所以尽量写清楚你的问题,合理使用标签...”

  1. startLocation为7,这时候无论你设的读取数据长度是多少,都读取不出数据,因为它正好读在“然”这个字上,但并不能完整读取。

  2. 如果读取的长度,也正好读到某个字的中间位置,这时候也是读取不出数据的,

像这样的问题,你们都是如何解决的?


...不确定和你说的是不是一个东西...
无非是中文字符的问题,你直接取前14个字符的长度(不管中英文,14个字符总够了),转换成NSString,再直接substringToIndex:7一下,取前三个字,不就出来了吗?

【热门文章】
【热门文章】