本文主要是介绍objective-c 读取文本文件内容(stringWithContentsOfFile和initWithContentsOfFile),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
NSString类提供了很多方法来从文件或者URL中读取数据. 通常情况下,你是知道文件的编码的,读取数据就很容易. 如果你有一个文本(plaintext), 但是不知道它的编码, 那就有点困难了.从已知编码的文件读取数据 可以使用 stringWithContentsOfFile
:encoding:error 或者相应的init函数 (initWithContentsOfFile:encoding:error)
如果使用不指定编码的stringWithContentsOfFile
对 于未知编码的文件 最好的方法是保证有一种机制来纠正不可避免的错误. 比如,Apple的Mail和Safari应用有个菜单,TextEdit也允许用户用指定的编码重新打开文件. 如果你想在缺少编码信息的情况下,猜出 编码,可以使用
stringWithContentsOfFile
例如:
NSString *str=[NSString stringWithContentsOfFile
NSString *str2=[[NSString alloc]initWithContentsOfFile:@"/Users/stjy/Desktop/zhudongxue/oc部分/oc自己练习/查找本地文件内容/查找 本地文件内容/File1"encoding:NSUTF8StringEncoding error:nil];
这 几个方法将猜试 资源的编码,如果成功,就通过引用返回使用的编码. 如果失败,就默认使用UTF-8的编码 如果再次失败,就使用一种合适的古老编码, “合适”的意思,在这里依赖环境,它可能是默认的C String编码,也可能是Windows Latin1编码
最后,你还可以试试用 NSAttributedString’ 方法 来猜编码
stringWithContentsOfFile
因为默认的C String编码可能会随着用户的配置而改变, 除非你使用Unicode或者UTF-8编码,否则就不要使用这种方法
相 对于从文件读取数据,写是比较简单的 writeToFile:atomically:encoding:error: 你必须指定应该使用的编码,选择 是否自动写资源 如果你不选择自动写入, 内容被直接写入到指定的文件. 否则,首先写到一个辅助文件,然后辅助文件被改名为指定的文件.iphone读取文本文件
这篇关于objective-c 读取文本文件内容(stringWithContentsOfFile和initWithContentsOfFile)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!