通过Java写入和读取Windows命令提示符

时间:2017-10-26 21:46:17

标签: java cmd io

我需要创建一个简单的Java程序,将其输出写入cmd(命令提示符)窗口并从那里读取用户的输入。
当我使用标准System.out.println从IDE运行代码时,它在IDE(我使用intelliJ)控制台视图上显示输出。
我想这是一个简单的问题,这里已有答案,但我做了几次搜索,但找不到合适的解决方案。

2 个答案:

答案 0 :(得分:1)

那就是它。如果您使用cmd而不是IDE运行它,您的程序现在将输出到cmd。 对于输入,您可以使用扫描仪读取用户输入。或者只是让用户在运行程序之前输入所有内容,并在逻辑中包含main方法的args来处理用户的输入。

答案 1 :(得分:1)

为你演示:)

public class testCMD {
    public static void main(String[] args) {
        testCMD obj = new testCMD();
        System.out.println("Press command here:");
        Scanner keyboard = new Scanner(System.in);
        String command = keyboard.next();
        //String command = "msconfig";
        String output = obj.executeCommand(command);
        System.out.println(output);
    }

    private String executeCommand(String command) {
        StringBuffer output = new StringBuffer();
        Process p;
        try {
            p = Runtime.getRuntime().exec(command);
            p.waitFor();
            BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream()));
            String line = "";
            while ((line = reader.readLine()) != null) {
                output.append(line + "\n");
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return output.toString();
    }
}