java储存 读取 输出_如何在Java中保存Shell脚本的回显输出

我正在研究一个Java程序,该程序在JUnit测试中调用多个Shell脚本(因此,除了。和E之外没有输出),这些脚本可操纵文件和SQL表,然后将所述表中的数据与其期望值进行比较。一切都在理论上可行,但是我遇到了一个阶段性错误,其中一种类型的测试按预期工作,而另一种类型的测试在十分钟超时后失败。我将问题隔离为Shell脚本之一,但是我没有编写此脚本,因此无法以任何方式进行更改。解决此问题的最佳方法是保存相关脚本的输出,该输出来自一系列回显调用。是否有某种简单/可靠的方法来保存回声输出?我已经用谷歌搜索了一下,但是没有任何反应。我还没有尝试存储输出,所以我没有

//Currently using BufferedWriter, File, FileWriter, IOException, and Writer

import java.io.*;

//Method to write to a log file

public void record(String input) throws IOException {

writer = new BufferedWriter(new FileWriter(file,true));

writer.write(input + "\n");

writer.close();

}

Runtime rt = Runtime.getRuntime();

//Several of these since a lot of file manipulation/script running occurs

process = rt.exec("./shell.sh");

process.waitFor();

在我提出的另一个问题中,出于某些原因,有人建议不使用Runtime.exec()。当我意识到不使用exec()的优点时,我需要使用该版本的程序。

tl; dr问题:我的Java程序能否轻松运行shell脚本并保存其回显输出?如果不是,是否有一个等号-f来读取输出?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值