【发布时间】:2019-04-11 10:02:10
【问题描述】:
我正在尝试获取与 Java 中的文件类型关联的 exe。我通过启动一个执行 assoc 的 cmd 进程并尝试捕获它的输出来做到这一点。现在这是出了问题的地方,我得到了以下几行,但没有别的:
Microsoft Windows [Version 10.0.17134.648]
(c) 2018 Microsoft Corporation. All rights reserved.
这是我的代码:
String[] commands = {"cmd", "assoc .txt"};
final ProcessBuilder pb = new ProcessBuilder(commands);
Process pr = pb.start();
pr.getOutputStream().close();
BufferedReader errorReader = new BufferedReader(new InputStreamReader(pr.getErrorStream()));
BufferedReader stdIn = new BufferedReader(new InputStreamReader(pr.getInputStream()));
String s;
while((s = stdIn.readLine()) != null) {
System.out.println(s);
}
String error;
while((error = errorReader.readLine()) != null) {
System.out.println(error);
}
【问题讨论】: