所以我有一个名为 answers.txt
的文件,如下所示:
1:A
2:B
3:BC
......
所以一堆行被换行分隔
我使用此代码将行放入 NSArray
:
NSStringEncoding encoding;
NSError* error;
NSString* myString = [NSString stringWithContentsOfFile:filePath usedEncoding:&encoding error:&error];
NSArray *lines = [myString componentsSeparatedByString:@"\n"];
文件是 unix 风格编写的,所以行之间用 \n
分隔,而不是 \r\n
现在解决问题:
当我在模拟器上构建时,如果我在 \r\n
处拆分,我得到一个正确的行数组,如果我在 处拆分,我得到一个不正确的数组\n
(我的意思是它确实在 \n
处拆分,但随后我在 :
处再次拆分每一行,第二个元素末尾有一个换行符)
当我在设备上构建时,它的作用恰恰相反(它在 \n
处正确拆分,如果我在 \r\n
我只得到一个元素 - 可能是因为文件中没有 \r
)
我是不是漏掉了什么?
最佳答案
很奇怪模拟器和设备有不同的行为,但是你可以通过使用这个来克服这个问题:
[str componentsSeparatedByCharactersInSet:[NSCharacterSet newlineCharacterSet]];
Here对于文档。
关于iPhone 读取文件 - 奇怪的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6289463/