Ver Fonte

doc: 教程按案例点method结构整理

yangyi há 1 semana atrás
pai
commit
648b5265a8
1 ficheiros alterados com 10 adições e 5 exclusões
  1. 10 5
      doc.md

+ 10 - 5
doc.md

@@ -2,6 +2,7 @@
 
 本教程通过 3 个可运行的示例,讲解 `ProcessBuilder` / `Process` 的核心用法。所有示例都以
 `src/main/resources/code/` 下的 `.java` 程序作为子进程,先编译再运行。
+每个**案例点**由独立的 `static` method 演示,在 `main()` 中依次调用。
 
 ## 运行示例
 
@@ -17,7 +18,7 @@ java -cp "target/classes:$(mvn -q dependency:build-classpath -Dmdep.outputFile=/
 
 ## 一、通过 ProcessBuilder 构建 Process —— `QuickStart`
 
-入门示例:`space.anyi.process.QuickStart`
+案例点:`buildProcess()`(示例类:`space.anyi.process.QuickStart`)
 
 ```java
 // 1. 构建命令并启动子进程:可执行文件绝对路径 + Main 类名,directory() 指定工作目录
@@ -43,9 +44,13 @@ int exitStatus = process.waitFor();
 
 ## 二、获取 Process 的输入和输出 —— `ProcessIOExample`
 
-示例:`space.anyi.process.ProcessIOExample`
+案例点:`standardOutput()` / `standardError()` / `standardInput()`(示例:`space.anyi.process.ProcessIOExample`
 
-子进程(`code/io/Main.java`)从标准输入逐行读取、回显到标准输出,读到 EOF 后向标准错误打印统计信息。主进程演示:
+子进程(`code/io/Main.java`)启动时打印一行 stdout,从标准输入逐行读取并回显,读到 EOF 后向标准错误打印统计信息。三个案例点:
+
+- `standardOutput()`:启动子进程、后台读 `getInputStream()`,看到启动横幅即标准输出 ✓
+- `standardError()`:关闭 stdin 后读 `getErrorStream()`,看到 EOF 统计行即错误输出 ✓
+- `standardInput()`:向 `getOutputStream()` 写两行,子进程回显到 stdout ✓
 
 ```java
 // 标准输出、标准错误分别在后台线程读取,避免阻塞主线程、也避免管道写满导致子进程卡死
@@ -79,9 +84,9 @@ try (OutputStream stdin = process.getOutputStream()) {
 
 ## 三、获取 Process 执行的状态码 —— `ExecuteStatusExample`
 
-示例:`space.anyi.process.ExecuteStatusExample`
+案例点:`blockingWaitFor()` / `timedWaitFor()`(示例:`space.anyi.process.ExecuteStatusExample`
 
-子进程(`code/executeStatus/Main.java`)睡眠 10 秒后退出,用对比两种获取退出码的方式:
+子进程(`code/executeStatus/Main.java`)睡眠 10 秒后退出,用对比两种获取退出码的方式:
 
 ```java
 // 方式一:阻塞式,一直等到子进程结束,返回退出码(0 正常,非 0 异常)