java - 如何将输出值保存到字符串变量?
问题描述
请原谅,因为我是韩国人,英语不好。
我想将 shell 脚本的输出存储在字符串中。
但他们找不到办法。我该怎么办?
package dbUpdate;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.Scanner;
public class ShellCommander {
static Scanner sc = new Scanner(System.in);
static String carSSID;
static String target;
static String IPAddress;
public static void main(String[] args) throws Exception {
String command = "/usr/local/bin/docker ps";
shellCmd1(command);
}
public static void shellCmd1(String command) throws Exception {
String line;
ProcessBuilder pb = new ProcessBuilder(command.split("\\s+"));
pb.inheritIO();
Process p = pb.start();
p.waitFor();
}
}
解决方案
您必须使用 Streams 来获取标准输出(脚本的输出)和标准错误。查看我的 wiki 文章“正确处理 ProcessBuilder”。那里描述了流的处理。
推荐阅读
- javascript - 基本的 HTML 日历搞砸了
- java - 控制台说扫描仪已关闭,我需要它重新打开。Java 错误
- scala - Row.key 和 row.value 在火花结构流代码中不起作用
- javascript - 发送帖子详细信息也发送我的提交/帖子
- c# - 在 Visual Studio 中从 C# 调用 SSIS 任务
- node.js - 如何在dynamoose中根据注册日期对所有项目进行排序
- sql - 如何在 SQL 中将子字符串中的数字转换为日期格式?
- spring-data-jpa - 在 JPA 查询中,如何传入一个列表以用作单列表?
- powershell - 正在解释的变量中的变量
- android - 如何删除 ListenerForSingleValueEvent?