[.NET] 關於資料的寫入問題..

看板Visual_Basic作者 (山中雜草一隻鹿)時間13年前 (2011/03/22 16:19), 編輯推噓0(005)
留言5則, 2人參與, 最新討論串1/1
最近小弟在寫一個Case... 其中有部份必需要將資料寫入檔案中... 我是用StreamWriter每10秒將資料寫入一次.. 但是問題來了,如果是採取寫完一次資料就關閉StreamWriter的方式.. 那麼如果在即將要寫入資料的同時,有人正好同時複製這個檔案, 就會發生檔案有別的執行緒正在使用的錯誤而導致資料寫不進去.. 後來我只能在寫完資料時,不關閉StreamWriter,讓程式持續抓著這個檔案.. 這樣一來就可以我在寫入的同時,可以允許其它程式對這檔案做複製的動作 而不會影響到資料的寫入,但是問題來了,有人說這樣的不關閉StreamWriter其實不是很好 很容易造成不可預期的錯誤,其實我也想不到這樣到底那裡不好,因為當日期更換或是程式 停止時我都有下了關閉的指令,只是在程式執行中程式會咬著這個檔案不放.... 我曾試過用SynLock去鎖住它..但是沒用,我只要在外部用複製還是會出問題... 請問還有更好的解決方法嗎???而且為何這樣不關閉StreamWriter的寫入不好?? 懇請大家指導....... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 211.20.115.210

03/22 16:38, , 1F
這是一種迷信吧!你可以問講話的那個人為什麼不好 :D
03/22 16:38, 1F

03/22 16:38, , 2F
基本上物件使用就像上廁所開燈一樣,出廁所就關燈,或
03/22 16:38, 2F

03/22 16:38, , 3F
dispose物件,這是好習慣,但當你不關燈或不關物件有明
03/22 16:38, 3F

03/22 16:39, , 4F
確理由的時候應該不用拘泥這種小節才對 :P
03/22 16:39, 4F

03/22 16:56, , 5F
喔喔..了解..非常感謝你的解釋....
03/22 16:56, 5F
※ 編輯: kight 來自: 211.20.115.210 (03/22 17:00)
文章代碼(AID): #1DY5k0jV (Visual_Basic)