有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!


共 (2) 个答案

  1. # 1 楼答案

    试试JPtypty4j。这些是使用JNA的pty for Java的实现

  2. # 2 楼答案

    我不认为PTY已经移植到java/scala。您可以使用java中内置的运行时

      def run() {
        val rt = Runtime.getRuntime
        val cmds = Array("/usr/bin/lxc-monitor", "-n .+")
        val env = Array("TERM=VT100")
        val p1 = rt.exec(cmds, env)
      }
    

    我使用this页作为scala版本的基础

    更新:

    要获得输出,您需要获取输入流并读取它(我知道这听起来有点倒退,但它是相对于jvm的输入)。下面的示例使用ApacheCommons跳过java的一些详细部分

    import java.io.StringWriter
    import org.apache.commons.io.IOUtils
    
    class runner {
    
      def run() {
        val rt = Runtime.getRuntime
        val cmds = Array("/usr/bin/lxc-monitor", "-n .+")
        val env = Array("TERM=VT100")
        val p1 = rt.exec(cmds, env)
        val inputStream = p1.getInputStream
    
        val writer = new StringWriter()
        IOUtils.copy(inputStream, writer, "UTF-8")
        val output = writer.toString()
        println(output)
      }
    
    }
    

    我从here那里得到了apache utils的想法