Module java.base
Package java.lang

Class ProcessBuilder.Redirect

java.lang.Object
java.lang.ProcessBuilder.Redirect
封闭类:
ProcessBuilder

public abstract static class ProcessBuilder.Redirect extends Object
表示子进程输入源或子进程输出目的地。每个Redirect实例是以下之一:

上述每个类别都有一个关联的唯一Type

自版本:
1.7
  • Field Details

    • PIPE

      public static final ProcessBuilder.Redirect PIPE
      表示子进程I/O将通过管道连接到当前Java进程。这是子进程标准I/O的默认处理方式。

      以下始终为真

       
       Redirect.PIPE.file() == null &&
       Redirect.PIPE.type() == Redirect.Type.PIPE
       
    • INHERIT

      public static final ProcessBuilder.Redirect INHERIT
      表示子进程I/O源或目的地将与当前进程的相同。这是大多数操作系统命令解释器(shell)的正常行为。

      以下始终为真

       
       Redirect.INHERIT.file() == null &&
       Redirect.INHERIT.type() == Redirect.Type.INHERIT
       
    • DISCARD

      public static final ProcessBuilder.Redirect DISCARD
      表示子进程输出将被丢弃。典型的实现通过写入到特定于操作系统的“null文件”来丢弃输出。

      以下始终为真

       
       Redirect.DISCARD.file()是适用于操作系统的文件名
       可能为null &&
       Redirect.DISCARD.type() == Redirect.Type.WRITE
       
      自版本:
      9
  • Method Details

    • type

      public abstract ProcessBuilder.Redirect.Type type()
      返回此Redirect的类型。
      返回:
      Redirect的类型
    • file

      public File file()
      返回与此重定向关联的File源或目的地,如果没有这样的文件,则返回null
      返回:
      与此重定向关联的文件,如果没有这样的文件,则返回null
    • from

      public static ProcessBuilder.Redirect from(File file)
      返回一个重定向以从指定文件读取。

      以下始终为真

       
       Redirect.from(file).file() == file &&
       Redirect.from(file).type() == Redirect.Type.READ
       
      参数:
      file - 用于RedirectFile
      返回:
      一个重定向以从指定文件读取
    • to

      public static ProcessBuilder.Redirect to(File file)
      返回一个重定向以写入到指定文件。如果在启动子进程时指定的文件已存在,则其先前的内容将被丢弃。

      以下始终为真

       
       Redirect.to(file).file() == file &&
       Redirect.to(file).type() == Redirect.Type.WRITE
       
      参数:
      file - 用于RedirectFile
      返回:
      一个重定向以写入到指定文件
    • appendTo

      public static ProcessBuilder.Redirect appendTo(File file)
      返回一个重定向以追加到指定文件。每个写入操作首先将位置推进到文件末尾,然后写入请求的数据。位置的推进和数据的写入是否在单个原子操作中完成取决于系统,因此是未指定的。

      以下始终为真

       
       Redirect.appendTo(file).file() == file &&
       Redirect.appendTo(file).type() == Redirect.Type.APPEND
       
      参数:
      file - 用于RedirectFile
      返回:
      一个重定向以追加到指定文件
    • equals

      public boolean equals(Object obj)
      将指定对象与此Redirect进行比较以检查是否相等。如果两个对象相同或两个对象都是关联非空相等File实例的相同类型的Redirect实例,则返回true
      覆盖:
      equals 在类 Object
      参数:
      obj - 要比较的引用对象。
      返回:
      如果此对象与obj参数相同,则返回true;否则返回false
      参见:
    • hashCode

      public int hashCode()
      返回此Redirect的哈希码值。
      覆盖:
      hashCode 在类 Object
      返回:
      Redirect的哈希码值
      参见: