下面是我关于一个PROCESS的代码:
new Thread(new Runnable()
{
public void run()
{
try
{
String temp = "";
Process p = Runtime.getRuntime().exec("cmd.exe /c java inputnumber.java");
BufferedReader br = new BufferedReader(new InputStreamReader(p.getErrorStream()));
String err;
while ((err = br.readLine()) != null)
{
temp += err + "\n";
}
if (temp.equals(""))
{
p.getOutputStream().write("1".getBytes());
BufferedReader stdin = new BufferedReader(new InputStreamReader(p.getInputStream()));
String inf = "";
while ((inf = stdin.readLine()) != null)
{
temp += inf + "\n";
}
stdin.close();
MainFrame.console.setText(temp);
}
else if(!(temp.equals("")))
MainFrame.console.setText(temp);
p.waitFor();
p.destroy();
}
catch (Exception e) {e.printStackTrace();}
}
}).start(); inputnumber.java代码:
import java.io.IOException;public class ck{
public static void main (String [] args)
{
int x = 0;
System.out.print("请输入数字:");
try
{
x = System.in.read();
}
catch (IOException e) {e.printStackTrace();}
System.out.print(x);
}
}
请问PROCESS为何输出不了输入的提示信息,另外也不能输入字符串和输出结果
关于这个问题小生很是急啊,忘大侠们指点迷津
new Thread(new Runnable()
{
public void run()
{
try
{
String temp = "";
Process p = Runtime.getRuntime().exec("cmd.exe /c java inputnumber.java");
BufferedReader br = new BufferedReader(new InputStreamReader(p.getErrorStream()));
String err;
while ((err = br.readLine()) != null)
{
temp += err + "\n";
}
if (temp.equals(""))
{
p.getOutputStream().write("1".getBytes());
BufferedReader stdin = new BufferedReader(new InputStreamReader(p.getInputStream()));
String inf = "";
while ((inf = stdin.readLine()) != null)
{
temp += inf + "\n";
}
stdin.close();
MainFrame.console.setText(temp);
}
else if(!(temp.equals("")))
MainFrame.console.setText(temp);
p.waitFor();
p.destroy();
}
catch (Exception e) {e.printStackTrace();}
}
}).start(); inputnumber.java代码:
import java.io.IOException;public class ck{
public static void main (String [] args)
{
int x = 0;
System.out.print("请输入数字:");
try
{
x = System.in.read();
}
catch (IOException e) {e.printStackTrace();}
System.out.print(x);
}
}
请问PROCESS为何输出不了输入的提示信息,另外也不能输入字符串和输出结果
关于这个问题小生很是急啊,忘大侠们指点迷津
至少应该是 cmd.exe /c java inputnumber.class 吧
"cmd.exe /c java inputnumber.java 你想干嘛
至少应该是 cmd.exe /c java inputnumber.class 吧"这里的JAVA INPUTNUMBER.JAVA是笔误
应该为JAVA CK