我是mac os的新手。我在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");
}
答案 0 :(得分:1)
通过向用户开放应用程序,您无法处理任何结果。您需要使用命令行版本的“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