① 用哪種方法讀取大型文件比較好
如果樓主只是想將文件內容順序輸出的話,那麼
從速度角度來看:
第一種即讀即寫,只需要遍歷一遍文件就可以了。
第二種需要先讀文件,再遍歷緩存數組中的元素做輸出。
所以是第一種快。
從空間佔用角度來看:
第一種不需要有額外的數組做緩存。
第二種需要額外的數組做緩存,如果文件比較大的話,對內存是很大的消耗。
所以是第一種省空間。
從程序書寫角度來看:
第一種使用了using,自動關閉StreamReader,而且有異常捕獲,程序相對比較健壯。而且代碼很簡潔。
第二種,首先沒有捕獲異常,當然如果是故意拋給上級調用處理倒也可以。但這里雖然手動調用了objReader.Close(),一旦在之前出現異常,就會有objReader實際沒有關閉的隱患。而且對sLine做了兩次非空判斷,其實完全可以合為一個。
所以第一種的代碼簡潔易看,而且健壯。
僅供參考~
② QT qxmlstreamreader 想要處理大的xml文件