作者MMAXo (充满自信与信任)
看板C_Sharp
标题[问题] 时间等待
时间Thu May 29 01:02:20 2008
遇到一个很囧的 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
1F:→ MMAXo:除了写一个 "等5秒" 的回圈外 ....= =|| 05/29 01:25
2F:→ EricTsai:WaitForExit 05/29 02:29
3F:推 abcf:为什麽不能直接读取那个档案要读取TMP档 05/29 12:53
4F:→ qweqweqweqwe:写一个while (读取失败重来) 或是给一个Time 05/29 14:16
5F:→ MMAXo:filename.tmp 是那个 exe 档的产出 才是我程式的 input 要吃 05/30 00:04
6F:→ MMAXo:我没试过 2f 的 WaitForExit 不过先谢谢了 05/30 00:05