使用 commons-exec 流式输出?

2024-03-29

谁能给我一个例子来说明如何流式传输外部程序的输出DefaultExecutor?我没有找到任何描述如何执行此操作的文档。

我的外部进程将运行几个小时,因此仅获取所有输出数据是不可行的;它必须被流式传输。


注意:此解决方案是同步的,因此它不会流式传输。您需要在单独的线程中读取,或使用执行命令的异步版本。

private InputStream getStream() {

 String dataParsingCommand = "java";

PipedOutputStream output = new PipedOutputStream();
PumpStreamHandler psh = new PumpStreamHandler(output);

CommandLine cl = CommandLine.parse(command);
cl.addArgument("-jar");
cl.addArgument(dataParserPath);

DefaultExecutor exec = new DefaultExecutor();
DataInputStream is = null;
try {
    is = new DataInputStream(new PipedInputStream(output));
    exec.setStreamHandler(psh);
    exec.execute(dataParserCommandLine);
} catch (ExecuteException ex) {
} catch (IOException ex) {
}

return is;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 commons-exec 流式输出? 的相关文章

随机推荐

  • 获取行中日期值之前的最新日期

    我正在使用 MSSQL 2008 R2 我正在尝试获取最新数据日期到存储在另一列中的日期 我可以在子查询中使用 max ProcedureDate 提取最新的数据日期 但是 我需要列中存储的日期之前的最新日期 这是一个例子 Current
  • 如何设置任务的计划完成日期?

    我试图弄清楚如何在创建或更新任务时设置计划完成日期 任务的计划完成日期始终等于项目创建的日期 我使用了几种不同的日期时间格式 但它从未改变 这是我使用过的两个没有抛出错误的 2015 05 02T08 00 00 000 0500 2015
  • 可以打印超过 100 行的 data.table 吗?

    data table 有一个很好的功能 可以抑制输出到表的头部和尾部 是否可以一次查看 打印 100 行以上 library data table Convert the ubiquitous iris data to a data tab
  • 实体框架代码优先和连接字符串

    我有一个使用 Entity Framework Code First 的小型 MVC 3 应用程序 并为模型使用此连接字符串 data source SQLEXPRESS Integrated Security SSPI AttachDBF
  • Flask 应用程序中的 Rpy2:致命错误:无法初始化 JIT

    我有一个 Flask 应用程序 我正在尝试添加一个 RESTful 端点 该端点使用 rpy2 从 rds文件 当我运行我的测试脚本时python3 testscript py其中包含import rpy2 robjects as obje
  • Laravel where if 语句

    我在从数据库中选择时遇到了问题 基本上我想要实现的是 我有一个包含 3 列的表 type number date 我需要根据列 类型 执行操作 If type 1 then where number gt 1 else where date
  • DbContext AutoDetectChangesEnabled 设置为 false 检测更改

    我有点难住了 根据我读到的设置DbContext AutoDetectChangesEnabled to false应该禁用需要调用的更改跟踪DbContext DetectChanges为了识别要发送到数据库的更改 但是 从下面的日志可以
  • Aria2 不重新下载文件

    我正在使用 aria2 下载动态生成的文件列表 我希望它跳过下载目录中已有的文件 但它没有这样做 而是重新下载它们并添加一个 1到文件名 我尝试使用 check integrity true 但这并没有改变行为 有没有办法让它跳过已经存在的
  • 检查所有复选框jquery

    为什么我的js代码中可以一键点击name check all检查所有复选框 HTML div div
  • 我应该使用哪个 Apple 推送通知服务 Java 库? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我需要使用 Java 服务器将推送通知发送到 iOS 设备Apple 推送通知服务 APNS http
  • ui-router 中 templateUrl 从一种状态动态更改为另一种状态

    html a target blank t name a 上面的代码位于 ng repeat 中 其中许多模板链接加载了名称和 id 因此当我单击每个链接时 href 将更新 并将 id 号附加到所选模板链接 我使用相同的控制器生成大约十个
  • 当 html 属性和 css 样式的功能重叠时

    1 如果在CSS文件中我们指定以下样式 td text align center 在 Html 文件中我们有 td align left 那么 CSS 文件中设置的值将优先于内联 html 属性 因此其中包含的元素 td 单元格将与中心对齐
  • 如何将 package.json 中的所有 npm 依赖项记录到 README.md 中

    我想记录所有 npmdevDependencies and dependencies中描述的package json文件到README md文件在同一个项目中 以下属性值得关注name description and version 当然
  • React-Vega 和 React-Vega 工具提示

    我在用着react vega lite 官方给出的例子 https vega github io vega lite https vega github io vega lite https vega github io react veg
  • Anaconda ImportError:/usr/lib64/libstdc++.so.6:找不到版本“GLIBCXX_3.4.21”

    当我尝试在 conda 环境中运行 Python 脚本时 出现以下导入错误 squad azada scholar fe00 Desktop Toy Problem Team 2 python3 train py Traceback mos
  • 将任何文件转换为二进制文件,反之亦然

    我在 StackOverFlow 网站和互联网上搜索了这个问题及其相关问题 但仍然没有得到明确的答案 我想知道我可以使用什么软件将任何文件 关于大小 转换为包含此特定文件的零和一 仅 的文本文件 然后将包含这些零和一的文本文件转换回原始文件
  • 如何在不使用 POJO 的情况下利用 Spring Batch?

    I know BeanWrapperFieldSetMapper类取决于 POJO 但事情是这样的 如果我想利用 Spring Batch 功能但不想创建单独的作业 不想编写 POJO 和单独的读取器写入或映射器 该怎么办 我的要求是读取
  • 如何制作滚动条占位符

    我的问题是浏览器窗口垂直滚动条被删除 例如overflow hidden 稍后再次出现时会使页面跳转 我使用 jQuery 从访问者中删除滚动选项 同时运行脚本并将页面滚动到特定点 然后使其再次重新出现 当滚动条不存在时 我可以为滚动条创建
  • ES 可从curl 访问,但不能从Marvel/Sense 访问

    我已经沉浸在 Elastic Search 中 2 个小时了 我用 Marvel 成功安装了 ES 使用marvel agent enabled false在 config elasticsearch yml 中 并且能够从 Sense 发
  • 使用 commons-exec 流式输出?

    谁能给我一个例子来说明如何流式传输外部程序的输出DefaultExecutor 我没有找到任何描述如何执行此操作的文档 我的外部进程将运行几个小时 因此仅获取所有输出数据是不可行的 它必须被流式传输 注意 此解决方案是同步的 因此它不会流式