我们正在尝试使用Java中的Runtime exec写入命令的STDIN。 我们使用cmd / c来执行命令,因为没有cmd / c,Runtime exec将无法识别它。这应该将“q”和换行符写入名为output.txt的文件中。我们可以找到该文件,但它没有任何内容。
String cmd = "cmd /c TYPE CON>output.txt";
try{
process = Runtime.getRuntime().exec(cmd, null);
BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(process.getOutputStream()));
bufferedWriter.write("q");
bufferedWriter.newLine();
bufferedWriter.flush();
bufferedWriter.close();
}catch(Exception e){}
我们还试图直接使用输出流并写入字节而没有成功。
它必须是STDIN命令,我们是否误解了process.getOutputStream()
我们已验证相同的命令在命令提示符下有效。
我们目前在Windows 10上
我们尝试过stackoverflow和其他网站提供的解决方案,但无济于事。