首页 > 解决方案 > 获取没有禁止api的进程输出

问题描述

我正在尝试获取执行二进制文件的进程的输出,如下所示:

Runtime rt = Runtime.getRuntime();
String[] command = new String[]{this.binaryPath, text};
Process p = rt.exec(command);
Scanner s = new Scanner(p.getInputStream()).useDelimiter("\\A");
String output = s.hasNext() ? s.next() : "";

但是,当我使用 Gradle 构建项目时,我收到一条错误消息:

任务:forbiddenApisMain FAILED 禁止方法调用:java.util.Scanner#(java.io.InputStream) [使用默认字符集]

显然,我正在做的事情被 Gradle 禁止。它是什么,我的选择是什么,所以 Gradle 不会抱怨?

标签: javagradlebinaries

解决方案


推荐阅读