многострочная строка Java ведет себя странно в тесте рациональных функций - PullRequest
0 голосов
/ 27 сентября 2011

Мне просто интересно, почему так происходит.

В версии IBM RFT 6.x, интегрированной с IDE затмения.Я запускаю следующие строки, чтобы получить текстовый вывод из другой программы.

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

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

исходный вывод, захваченный outputText (). GetProperty (". Value") равно

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 - это именно то, что я хочу, но здесь текст всегда обрезается в "show cpup sc11".

ожидается, что twoline сделает то же самое.

, когда я попробую другой вывод программы. Этого не произойдет. Две переменные одинаковы.

1 Ответ

0 голосов
/ 29 сентября 2011

Вероятно, это проблема синхронизации. Ваш Text отключен, потому что элемент управления не совсем заполнен. Ко времени выполнения строки Text_Value объект outputText () заполняется полностью, поэтому Text_Value не усекается. Вы можете доказать это, вставив команду sleep(10) перед строкой Text. Измените значение 10 на любое произвольное количество секунд, достаточное для полного заполнения элемента управления outputText ().

...