gpt4 book ai didi

java - 在 Ubuntu 中使用 Java 运行二进制文件

转载 作者:行者123 更新时间:2023-11-30 11:49:38 25 4
gpt4 key购买 nike

我正在尝试通过 Java 代码运行一个二进制文件,即 Genia Sequence Splitter。此二进制文件的类型为 x-executable,没有扩展名。我可以使用 ./genias arg1 arg2 在终端中运行该文件其中 arg1 是输入文件 arg2 是输出文件我想自动化这个过程。我尝试使用这段代码

    public class geniaSSTag {
public static void geniaSS(String inputFile){
System.out.println("Input file: "+inputFile);

String[]cmd={"bash","geniass/./geniass","in.txt","out.txt"};

try {
String errOutput="";
Process process = Runtime.getRuntime().exec(cmd);
String s = "";
BufferedReader br = new BufferedReader(new InputStreamReader(process
.getInputStream()));
while ((s = br.readLine()) != null)
{
s += s + "\n";
}
System.out.println(s);

BufferedReader br2 = new BufferedReader(new InputStreamReader(process.getErrorStream()));
while (br2.ready() && (s = br2.readLine()) != null)
{
errOutput += s;
}
System.out.println(errOutput);
} catch (IOException ex) {
Logger.getLogger(geniaSSTag.class.getName()).log(Level.SEVERE, null, ex);
}
}
}

但是当我尝试运行时出现这个错误

genias/./genias: genias/./genias: 无法执行二进制文件

我该如何解决这个问题。感谢您的帮助。

谢谢

最佳答案

当您运行该程序时,可执行文件是否以其位于“./genias/genias”中的方式相对于程序的起始目录?请注意,“/./”除了浪费空间外没有任何作用,因为它是“链接回当前目录的子目录”的简写。

也许您的“genias”可执行文件不在名为“genias”的子目录中,或者启动程序是从另一个目录启动的,并且找不到相对于它的目录的“genias/genias”。

如其他地方所建议,您可以通过在启动命令中使用绝对路径来解决此问题。但是,如果您想要安装多个副本,有时这就不够灵活。

关于java - 在 Ubuntu 中使用 Java 运行二进制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8312729/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com