2011-09-27 38 views
0

我只是想知道爲什麼它會這樣做。java多行字符串在理性函數測試中表現奇怪

在集成了eclipse IDE的IBM RFT 6.x版本中。 我運行下面的行來從另一個程序獲取文本輸出。

String Text = ""; 
String Text_Value = ""; 

Text = (String) outputText().getProperty(".value"); 
Text_Value = (String) outputText().getProperty(".value"); 

的outputText()的getProperty( 「值」)拍攝的原始輸出

2011-09-27 19:11:05.996 [Process ID:0x00000000] show cpup sc11 
************************************************************ 
CPU0 Usage     : 3.2% 
CPU1 Usage     : 6.29% 
Smooth CPU Usage    : 4.65% 
Real CPU Usage     : 4.65% 
------------------------------------------------------------ 
CPU Usage Sample Rate   : 2(s) 
CPU OverLoad Level[1]   : 10% 
CPU OverLoad Level[2]   : 20% 
CPU OverLoad Level[3]   : 90% 
CPU OverLoad Level[4]   : 95% 
CPU Peak Usage     : 99.88% 
CPU Peak Usage Time   : 2008-10-31 20:12:54 
------------------------------------------------------------ 
The History Real CPU Usage  : 
No %CPU %CPU %CPU %CPU %CPU %CPU %CPU %CPU 
0  3.87 4.76 4.72 4.76 4.76 4.69 4.65 4.65 
1  4.69 4.65 
************************************************************ 

和奇怪的事情發生在這裏。 我得到的字符串變量

Text = "\r\n2011-09-27 19:11:05.996 [Process ID:0x00000000] show cpup sc11" 

Text_Value = "\r\n2011-09-27 19:11:05.996 [Process ID:0x00000000] show cpup  sc11\r\n************************************************************\r\n.....4.69 4.65 
      \r\n************************************************************" 

的TEXT_VALUE正是我想要的,但文字是總是以「秀cpup SC11」這裏切斷。

twoline預計會做同樣的事情。

當我嘗試其他輸出的程序。這不會發生。這兩個變量是相同的。

+0

您需要發佈此問題的代碼才能回覆。 –

回答

0

這可能是一個同步問題。您的Text被切斷,因爲控件沒有完全填充。在執行Text_Value行時,outputText()對象已完全填充,因此Text_Value未被截斷。您可以在Text行之前插入sleep(10)命令來證明這一點。將值10更改爲足夠長的任意秒數,以便outputText()控件完全填充。

+0

謝謝湯姆。 outputText()有點慢。當睡覺(0.1)仍然失敗,但睡眠(0.3)可以解決問題。謝謝你,酷! – oyss