看板 C_Sharp 關於我們 聯絡資訊
遇到一個很囧的 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
MMAXo:除了寫一個 "等5秒" 的迴圈外 ....= =|| 05/29 01:25
EricTsai:WaitForExit 05/29 02:29
abcf:為什麼不能直接讀取那個檔案要讀取TMP檔 05/29 12:53
qweqweqweqwe:寫一個while (讀取失敗重來) 或是給一個Time 05/29 14:16
MMAXo:filename.tmp 是那個 exe 檔的產出 才是我程式的 input 要吃 05/30 00:04
MMAXo:我沒試過 2f 的 WaitForExit 不過先謝謝了 05/30 00:05