小编Dan*_*hov的帖子

如何将字符串写入 Scala Process?

我开始并运行了一个 Scala 进程。

    val dir = "/path/to/working/dir/"
    val stockfish = Process(Seq("wine", dir + "stockfish_8_x32.exe"))
    val logger = ProcessLogger(printf("Stdout: %s%n",  _))
    val stockfishProcess = stockfish.run(logger, connectInput = true)
Run Code Online (Sandbox Code Playgroud)

该进程读取和写入标准 IO(控制台)。如果进程已经启动,如何向进程发送字符串命令?

Scala 进程 API 具有 ProcessBuilder,它又具有一堆有用的方法。但是 ProcessBuilder 是进程开始编写复杂的 shell 命令之前使用的。Scala 也有 ProcessIO 来处理输入或输出。我也不需要。我只需要向我的进程发送消息。

在 Java 中,我会做这样的事情。

        String dir = "/path/to/working/dir/";
        ProcessBuilder builder = new ProcessBuilder("wine", dir + "stockfish_8_x32.exe");
        Process process = builder.start();

        OutputStream stdin = process.getOutputStream();
        InputStream stdout = process.getInputStream();

        BufferedReader reader = new BufferedReader(new InputStreamReader(stdout));
        BufferedWriter writer = new …
Run Code Online (Sandbox Code Playgroud)

io scala inputstream outputstream process

7
推荐指数
1
解决办法
2300
查看次数

标签 统计

inputstream ×1

io ×1

outputstream ×1

process ×1

scala ×1