java - 获取没有禁止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 不会抱怨?
解决方案
推荐阅读
- python - 如何创建一个仅选择值大于 avg +/* Pandas 标准差的行的数据框?
- javascript - 从外部 js 调用 react 组件和函数
- syntax - 在不同的文件中使用相同的 begin-for-syntax 定义
- java - Google Cloud Debugger 找不到部署为 Cloud Run 服务的 Spring Boot Web 应用
- javascript - 传单搜索自定义结果标记
- javascript - Apexcharts 在事件中更新 React 状态
- c# - 术语“Get-ADFineGrainedPasswordPolicySubject”未被识别为命令行开关。从 powershell 在 C# 中执行时
- powershell - 如何停止并行线程
- python - 从泊松中为矩阵中的每个值绘制随机变量
- dart - 错误:不能将参数类型“字符串”分配给参数类型“Uri”