① 用哪种方法读取大型文件比较好
如果楼主只是想将文件内容顺序输出的话,那么
从速度角度来看:
第一种即读即写,只需要遍历一遍文件就可以了。
第二种需要先读文件,再遍历缓存数组中的元素做输出。
所以是第一种快。
从空间占用角度来看:
第一种不需要有额外的数组做缓存。
第二种需要额外的数组做缓存,如果文件比较大的话,对内存是很大的消耗。
所以是第一种省空间。
从程序书写角度来看:
第一种使用了using,自动关闭StreamReader,而且有异常捕获,程序相对比较健壮。而且代码很简洁。
第二种,首先没有捕获异常,当然如果是故意抛给上级调用处理倒也可以。但这里虽然手动调用了objReader.Close(),一旦在之前出现异常,就会有objReader实际没有关闭的隐患。而且对sLine做了两次非空判断,其实完全可以合为一个。
所以第一种的代码简洁易看,而且健壮。
仅供参考~
② QT qxmlstreamreader 想要处理大的xml文件