我正在尝试创建自己的Java IDE,但是在显示程序本身后从用户获取输入时遇到问题
到目前为止,我尝试了两种让控制台出现的方法。 使用Create Java console inside a GUI panel
或使用我自己的
代码void runCommand(String command)
{
try {
ProcessBuilder builder = new ProcessBuilder(
"cmd.exe", "/c", command);
builder.redirectErrorStream(true);
Process p = builder.start();
BufferedReader r = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line;
while (true) {
line = r.readLine();
if (line == null) { break; }
System.out.println(line);
}
} catch (IOException ex) {
Logger.getLogger(FileToClass2.class.getName()).log(Level.SEVERE, null, ex);
}
}
void createClass(String dir, String filename)
{
//TODO: stop using exact java path / compile all .java in a dir
runCommand("cd "+dir+" && \"C:\\Program Files\\Java\\jdk1.8.0_91\\bin\\javac\" " + filename);
}
void runClass(String dir, String filename)
{
//TODO: allow use of packages etc
runCommand("cd " + dir + " && java " + filename);
}
以上代码只是获取cmd终端的输出,这两种方法的问题是缺少输入,如果用户想要做一个Scanner nextLine() 这有什么解决方案吗?