atitit.RandomAccessFile rws rwd 的區別於聯繫 1. Rw rws rwd1 2. "rws" 模式1 3. rwd"模式2 "r" 以只讀方式打開。調用結果對象的任何 write 方法都將導致拋出 IOException。 "rw"
atitit.RandomAccessFile rws rwd 的區別於聯繫
1. Rw rws rwd
"r" 以只讀方式打開。調用結果對象的任何 write 方法都將導致拋出 IOException。
"rw" 打開以便讀取和寫入。
"rws" 打開以便讀取和寫入。相對於 "rw","rws" 還要求對“文件的內容”或“元數據”的每個更新都同步寫入到基礎存儲設備。
"rwd" 打開以便讀取和寫入,相對於 "rw","rwd" 還要求對“文件的內容”的每個更新都同步寫入到基礎存儲設備
作者:: 綽號:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿爾 拉帕努伊 ) 漢字名:艾龍, EMAIL:[email protected]
轉載請註明來源: http://www.cnblogs.com/attilax/
2. "rws" 模式
Rws模式的s即是synchronously同步的意思...
預設情形下(rw模式下),是使用buffer的,只有cache滿的或者使用RandomAccessFile.close()關閉流的時候兒才真正的寫到文件...
這個會有兩個問題:
1.調試麻煩的...------------------使用write方法修改byte的時候兒,只修改到個記憶體蘭,還沒到個文件,閃的調試麻煩的,不能使用notepad++工具立即看見修改效果..
2.當系統halt的時候兒,不能寫到文件...安全性稍微差點兒....
Rws模式就是同步模式,每write修改一個byte,立馬寫到磁碟..當然中間性能走差點兒,適合小的文件...and debug模式...或者安全性高的需要的時候兒...
3. rwd"模式
Rwd模式跟個rws基礎的一樣..不過,只對“文件的內容”同步更新到磁碟...不對metadata同步更新..
這個模式間於 rw 跟個 rws 中間....