gpt4 book ai didi

java - 将mac os终端的内容写入java中的文件

转载 作者:行者123 更新时间:2023-12-01 15:43:31 32 4
gpt4 key购买 nike

我是 macOS 新手。我在java中使用了以下代码来获取系统详细信息。它打开一个终端来显示该命令的结果。我需要在文件中获取这些详细信息。我怎样才能得到它。

String[] command = {"/usr/bin/open", "/Applications/Utilities/System Profiler.app"};
Process proc = Runtime.getRuntime().exec(command);
int resultCode = proc.waitFor();
if (resultCode != 0) {
throw new Exception("failed to open system profiler");
}

最佳答案

通过向用户打开应用程序,您无法处理任何结果。您需要使用“系统分析器”的命令行版本,它将其结果打印回 shell。然后,您可以使用以下代码在 Java 中处理结果:

String[] command = {"/usr/sbin/system_profiler"}
String sendback = "";
Process proc = Runtime.getRuntime().exec(command);
InputStream istr = proc.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(istr));
String str;
while ((str = br.readLine()) != null) {
sendback = sendback + str;
}
int resultCode = proc.waitFor();
br.close();
if (resultCode != 0) {
throw new Exception("failed to open system profiler");
}

在 Java 中,您可以以任何方式处理结果(将其写入文件或其他方式)。

但是,如果您确实想简单地将其写入文件(而不是在 Java 中使用它),则可以通过更改命令并将输出重定向到 shell 上的目标文件中来实现:

/usr/sbin/system_profiler >/path/to/yourfile.txt

关于java - 将mac os终端的内容写入java中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7595933/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com