[問題] 時間等待

看板C_Sharp作者 (充滿自信與信任)時間17年前 (2008/05/29 01:02), 編輯推噓1(105)
留言6則, 4人參與, 最新討論串1/1
遇到一個很囧的 bug ... 還是靠直覺找出來的 = = 程式步驟: 1. System.Diagnostics.Process.Start(ExeFile, fileName); 2. 產生檔案 fileName.tmp 3. StreamReader sr = new StreamReader(fileName.tmp); 看起來一點問題都沒有 事實上..... 當執行完 1 時,很清楚的 "可以" 產生 fileName.tmp 但是在 3 的步驟卻找不到 .. 原因: IO 尚未將檔案寫入硬碟,僅存在 Memory. 而每次停中斷點時,因為暫停的關係..所以檔案剛好被寫入....... 沒停..就會掛 = ="" 嗯..想問一下有沒有什麼解法.. 至於 1 的 ExeFile 不是我弄的,沒得改. 且..在產生完之後馬上就會用到. 批次(較大量)的方式我還可以先執行完 ExeFile 再來處理 但是三個檔案內..恰好遇上電腦在忙..就會掛點.. 請問有人有解法嗎? thx.. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.67.108.193

05/29 01:25, , 1F
除了寫一個 "等5秒" 的迴圈外 ....= =||
05/29 01:25, 1F

05/29 02:29, , 2F
WaitForExit
05/29 02:29, 2F

05/29 12:53, , 3F
為什麼不能直接讀取那個檔案要讀取TMP檔
05/29 12:53, 3F

05/29 14:16, , 4F
寫一個while (讀取失敗重來) 或是給一個Time
05/29 14:16, 4F

05/30 00:04, , 5F
filename.tmp 是那個 exe 檔的產出 才是我程式的 input 要吃
05/30 00:04, 5F

05/30 00:05, , 6F
我沒試過 2f 的 WaitForExit 不過先謝謝了
05/30 00:05, 6F
文章代碼(AID): #18FP0V59 (C_Sharp)