希望有人能给我一些建议。我正在用java运行一个程序,需要包含一个已经用bash编写的函数。老实说,我不知道从哪里开始。
我有一些文件,我用我的java程序在某种程度上处理它(我删除重复项,对名称进行排序等)。我最终得到了其他文件的几个路径。
for(String go:parsun){
pathed="/home/S/Data/"+go+"/Ana/lysis/"+go+"/file.vcf";
System.out.println("Pathed: " + pathed);
}
我需要采用这些路径并将它们放入一个 bash 程序中,该程序获取文件的内容并对它们的内部进行一些数学运算。 我在互联网上看到,您可以执行类似的操作来在 java 中运行 bash 脚本:
Process pro=Runtime.getRuntime().exec("shellfilepath");
BufferedReader read=new BufferedReader(new InputStreamReader(pro.getInputStream());
但我不确定我是否理解它是如何工作的,或者我将如何将我的文件路径传递给它。另外,另一个考虑因素是我必须稍微修改 bash 脚本以允许它接受这些路径。以前,路径是预先硬编码的。我还需要这方面的一些建议。
这是让 bash 和 Java 一起工作的最佳方式吗?还有其他技术吗?如果没有,有人可以帮助我了解如何使用运行时吗?
谢谢
最佳答案
您可以使用:
Process process = Runtime.getRuntime().exec("bash_command " + pathed);
路径
文件名将作为$1
参数传入。
关于Java 和 Bash shell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12411549/