鸿蒙OS开发文档 鸿蒙OS ProcessBuilder.Redirect

2024-02-25 开发教程 鸿蒙OS开发文档 匿名 2

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 classProcessBuilder.Redirect.Type重定向的类型。

字段摘要

修饰符和类型字段描述
static ProcessBuilder.RedirectINHERIT表示子进程 I/O 源或目标将与当前进程的相同。
static ProcessBuilder.RedirectPIPE指示子进程 I/O 将通过管道连接到当前 Java 进程。

方法总结

修饰符和类型方法描述
static ProcessBuilder.RedirectappendTo(File file)返回重定向以附加到指定文件。
booleanequals(Object obj)比较指定对象与此重定向是否相等。
Filefile()返回与此重定向关联的文件源或目标,如果没有此类文件,则返回 null。
static ProcessBuilder.Redirectfrom(File file)返回从指定文件读取的重定向。
inthashCode()返回此重定向的哈希码值。
static ProcessBuilder.Redirectto(File file)返回重定向以写入指定文件。
abstract ProcessBuilder.Redirect.Typetype()返回此重定向的类型。
从类 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 中的等于

参数:

参数名称参数描述
objthe reference object with which to compare.

返回:

如果此对象与 obj 参数相同,则为 true; 否则为假。

hashCode

public int hashCode()

返回此重定向的哈希码值。

覆盖:

类 Object 中的 hashCode

返回:

此重定向的哈希码值