ProcessBuilder.Redirect
java.lang.Object
|—java.lang.ProcessBuilder.Redirect
public abstract static class ProcessBuilder.Redirect
extends Object
表示子流程输入的来源或子流程输出的目的地。 每个重定向实例都是以下之一:
- 特殊值 Redirect.PIPE
- 特殊值 Redirect.INHERIT
- 从文件中读取的重定向,由 Redirect#from 调用创建
- 写入文件的重定向,由 Redirect#to 调用创建
- 附加到文件的重定向,由调用 Redirect#appendTo 创建
上述每个类别都有一个关联的唯一类型。
嵌套类摘要
修饰符和类型 | 类 | 描述 |
---|---|---|
static class | ProcessBuilder.Redirect.Type | 重定向的类型。 |
字段摘要
修饰符和类型 | 字段 | 描述 |
---|---|---|
static ProcessBuilder.Redirect | INHERIT | 表示子进程 I/O 源或目标将与当前进程的相同。 |
static ProcessBuilder.Redirect | PIPE | 指示子进程 I/O 将通过管道连接到当前 Java 进程。 |
方法总结
修饰符和类型 | 方法 | 描述 |
---|---|---|
static ProcessBuilder.Redirect | appendTo(File file) | 返回重定向以附加到指定文件。 |
boolean | equals(Object obj) | 比较指定对象与此重定向是否相等。 |
File | file() | 返回与此重定向关联的文件源或目标,如果没有此类文件,则返回 null。 |
static ProcessBuilder.Redirect | from(File file) | 返回从指定文件读取的重定向。 |
int | hashCode() | 返回此重定向的哈希码值。 |
static ProcessBuilder.Redirect | to(File file) | 返回重定向以写入指定文件。 |
abstract ProcessBuilder.Redirect.Type | type() | 返回此重定向的类型。 |
从类 java.lang.Object 继承的方法 |
---|
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait |
字段详细信息
INHERIT
public static final ProcessBuilder.Redirect INHERIT
表示子进程 I/O 源或目标将与当前进程的相同。 这是大多数操作系统命令解释器(shell)的正常行为。
永远都为true
Redirect.INHERIT.file() == null && Redirect.INHERIT.type() == Redirect.Type.INHERIT
PIPE
public static final ProcessBuilder.Redirect PIPE
指示子进程 I/O 将通过管道连接到当前 Java 进程。 这是子进程标准 I/O 的默认处理。
永远都为true
Redirect.PIPE.file() == null && Redirect.PIPE.type() == Redirect.Type.PIPE
方法详情
type
public abstract ProcessBuilder.Redirect.Type type()
返回此重定向的类型。
返回:
此重定向的类型
file
public File file()
返回与此重定向关联的文件源或目标,如果没有此类文件,则返回 null。
返回:
与此重定向关联的文件,如果没有此类文件,则返回 null
from
public static ProcessBuilder.Redirect from(File file)
返回从指定文件读取的重定向。
永远都为true
Redirect.from(file).file() == file && Redirect.from(file).type() == Redirect.Type.READ
参数:
参数名称 | 参数描述 |
---|---|
file | 重定向的文件。 |
返回:
从指定文件读取的重定向
Throws:
Throw名称 | Throw描述 |
---|---|
NullPointerException | 如果指定的文件为空 |
to
public static ProcessBuilder.Redirect to(File file)
返回重定向以写入指定文件。 如果子进程启动时指定的文件存在,则其之前的内容将被丢弃。
永远都为true
Redirect.to(file).file() == file && Redirect.to(file).type() == Redirect.Type.WRITE
参数:
参数名称 | 参数描述 |
---|---|
file | 重定向的文件。 |
返回:
写入指定文件的重定向
Throws:
Throw名称 | Throw描述 |
---|---|
NullPointerException | 如果指定的文件为空 |
appendTo
public static ProcessBuilder.Redirect appendTo(File file)
返回重定向以附加到指定文件。 每个写操作首先将位置推进到文件末尾,然后写入请求的数据。 位置的提升和数据的写入是否在单个原子操作中完成是系统相关的,因此未指定。
永远都为true
Redirect.appendTo(file).file() == file &&
Redirect.appendTo(file).type() == Redirect.Type.APPEND
参数:
参数名称 | 参数描述 |
---|---|
file | 重定向的文件。 |
返回:
附加到指定文件的重定向
Throws:
Throw名称 | Throw描述 |
---|---|
NullPointerException | 如果指定的文件为空 |
equals
public boolean equals(Object obj)
比较指定对象与此重定向是否相等。 当且仅当两个对象相同或两个对象都是与非空相等 File 实例关联的相同类型的 Redirect 实例时,才返回 true。
覆盖:
类 Object 中的等于
参数:
参数名称 | 参数描述 |
---|---|
obj | the reference object with which to compare. |
返回:
如果此对象与 obj 参数相同,则为 true; 否则为假。
hashCode
public int hashCode()
返回此重定向的哈希码值。
覆盖:
类 Object 中的 hashCode
返回:
此重定向的哈希码值