Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java的cmd和exec命令中打开cmd并等待用户输入 我的问题是,在打开java代码中的CMD之后,我希望用户能够像C++的MS DOS应用程序那样输入。当用户编写诸如“dir”或“cd..”之类的代码时,我想用java执行这些代码。 问题是,对于每个命令,java都会再次打开cmd。我也不能执行命令。我的cmd开始代码如下 final ArrayList<String> commands = new ArrayList<>(); commands.add("cmd.exe"); commands.add("/C"); commands.add("start"); ProcessBuilder pb = new ProcessBuilder(commands); Process process = pb.start(); final ArrayList commands=new ArrayList(); commands.add(“cmd.exe”); 命令。添加(“/C”); 命令。添加(“开始”); ProcessBuilder pb=新的ProcessBuilder(命令); Process进程=pb.start();_Java_Windows_Cmd - Fatal编程技术网

在java的cmd和exec命令中打开cmd并等待用户输入 我的问题是,在打开java代码中的CMD之后,我希望用户能够像C++的MS DOS应用程序那样输入。当用户编写诸如“dir”或“cd..”之类的代码时,我想用java执行这些代码。 问题是,对于每个命令,java都会再次打开cmd。我也不能执行命令。我的cmd开始代码如下 final ArrayList<String> commands = new ArrayList<>(); commands.add("cmd.exe"); commands.add("/C"); commands.add("start"); ProcessBuilder pb = new ProcessBuilder(commands); Process process = pb.start(); final ArrayList commands=new ArrayList(); commands.add(“cmd.exe”); 命令。添加(“/C”); 命令。添加(“开始”); ProcessBuilder pb=新的ProcessBuilder(命令); Process进程=pb.start();

在java的cmd和exec命令中打开cmd并等待用户输入 我的问题是,在打开java代码中的CMD之后,我希望用户能够像C++的MS DOS应用程序那样输入。当用户编写诸如“dir”或“cd..”之类的代码时,我想用java执行这些代码。 问题是,对于每个命令,java都会再次打开cmd。我也不能执行命令。我的cmd开始代码如下 final ArrayList<String> commands = new ArrayList<>(); commands.add("cmd.exe"); commands.add("/C"); commands.add("start"); ProcessBuilder pb = new ProcessBuilder(commands); Process process = pb.start(); final ArrayList commands=new ArrayList(); commands.add(“cmd.exe”); 命令。添加(“/C”); 命令。添加(“开始”); ProcessBuilder pb=新的ProcessBuilder(命令); Process进程=pb.start();,java,windows,cmd,Java,Windows,Cmd,以下是一些从 公共静态void main(字符串[]args){ 试一试{ 字符串ss=null; 运行时obj=null; 进程p=Runtime.getRuntime().exec(“cmd.exe”); //将命令写入输出流 BufferedWriter writer=新的BufferedWriter(新的OutputStreamWriter(p.getOutputStream()); 作者:写(“dir”); writer.flush(); //获取输入和stderror Buffere

以下是一些从

公共静态void main(字符串[]args){ 试一试{ 字符串ss=null; 运行时obj=null; 进程p=Runtime.getRuntime().exec(“cmd.exe”); //将命令写入输出流 BufferedWriter writer=新的BufferedWriter(新的OutputStreamWriter(p.getOutputStream()); 作者:写(“dir”); writer.flush(); //获取输入和stderror BufferedReader stdInput=新的BufferedReader(新的InputStreamReader(p.getInputStream()); BufferedReader stdError=新的BufferedReader(新的InputStreamReader(p.getErrorStream()); System.out.println(“这是命令的标准输出:\n”); 而((ss=stdInput.readLine())!=null){ 系统输出打印LN(ss); } System.out.println(“这是命令的标准错误(如果有):\n”); 而((ss=stdError.readLine())!=null){ 系统输出打印LN(ss); } }捕获(IOE异常){ System.out.println(“FROM CATCH”+e.toString()); } }
非常感谢。尽管它没有从netbeans打开cmd窗口。可能当我将项目导出为jar时,它会打开cmd?并且它不会将输出写入netbeans日志窗口(例如,当我尝试dir etcde时),调用cmd.exe是否成功? public static void main(String[] args) { try { String ss = null; Runtime obj = null; Process p = Runtime.getRuntime().exec("cmd.exe"); //write a command to the output stream BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(p.getOutputStream())); writer.write("dir"); writer.flush(); //Get the input and stderror BufferedReader stdInput = new BufferedReader(new InputStreamReader(p.getInputStream())); BufferedReader stdError = new BufferedReader(new InputStreamReader(p.getErrorStream())); System.out.println("Here is the standard output of the command:\n"); while ((ss = stdInput.readLine()) != null) { System.out.println(ss); } System.out.println("Here is the standard error of the command (if any):\n"); while ((ss = stdError.readLine()) != null) { System.out.println(ss); } } catch (IOException e) { System.out.println("FROM CATCH" + e.toString()); } }