最贊回答 / qq_夜_42
f.close()前寫入的9798行才是緩存的大小,當寫入的數(shù)據(jù)量大于等于寫緩存的時候,寫緩存才會同步到磁盤,同時清空寫緩存,剩下的那部分達不到緩存的大小,就只能被存儲在緩存中,只有調用close或fulsh方法才能寫到磁盤中。
2016-05-12
最贊回答 / wulongtao
如果你僅僅是讀:r+就可以讀取到原文件內容(使用read);a+是追加模式,讀的時候是將指針已經(jīng)放在文件末尾了,所以讀取到的文件是空的。如果你僅僅是寫:r+是從頭開始寫的,你寫了多少就會覆蓋原文件多少;a+因為指針已經(jīng)放在文件末尾了,所以你寫額時候自然就是追加在后面的。如果你是先讀在寫:這樣就有點麻煩了。r+當你使用read讀完之后再使用write寫的時候,指針已經(jīng)在文件末尾了,所以你再寫的時候就感覺是追加在末尾似的。a+因為你先讀的時候指針已經(jīng)在末尾了你自然就讀不到任何內容。至于你說的w和w+我的理解這...
2016-01-12
最贊回答 / meShare
1:readlines的參數(shù)是字節(jié)數(shù),不是行數(shù)2:不加參數(shù),默認把文件讀完,3:參數(shù)小于io.DEFAULT_BUFFER_SIZE,他讀出字節(jié)數(shù)接近于io.DEFAULT_BUFFER_SIZE(8K的一個值)4:如果輸入的值大于io.DEFAULT_BUFFER_SIZE,讀出字節(jié)數(shù),接近于io.DEFAULT_BUFFER_SIZE的倍數(shù)的字節(jié)數(shù),
2015-06-22