在以下场景中,我们正在处理一个控制台应用程序,其中有一个 PHP 脚本作为 Java 应用程序中的一个进程运行。每次脚本输入两个值并返回“OK”或“ERR”。我试图捕捉从输入输入到脚本所需的时间以及它返回“OK”或“ERR”值的时间。
我已经实施了以下修复,但它似乎仍然不起作用。如果有人能解释一下。
try {
proc = runtime.exec("php " + "script.php");
inp = new BufferedReader( new InputStreamReader(proc.getInputStream()) );
out = new BufferedWriter( new OutputStreamWriter(proc.getOutputStream()) );
while (true) {
temp = getRandomUser() + " " + getRandomHost();
startTime = System.currentTimeMillis();
//System.out.println(temp);
print(pipe(temp));
while (!inp.readLine().equals("ERR") || !inp.readLine().equals("OK")) {
}
endTime = System.currentTimeMillis();
procTime = (long) endTime - startTime;
fout.write(Double.toString(procTime));
fout.newLine();
//System.out.println("! " + procTime);
}
} catch (IOException ex) {
System.out.println("Thread prematurely Terminated...");
}