我正在尝试使用命令行工具“ Tarql”进行一些数据转换(提供csv和sparql查询,它将把csv文件转换为ttl格式)。
以下命令将转换我的数据:
\tarql-1.2\bin\tarql.bat --write-base --base http://ontologies.se.com/Proc GMap.sparql GMap.csv > gmap.ttl
到目前为止,我已经编写了运行tarql.bat文件的文件,但是我不确定如何在其中也包含其他命令。
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
public class ExecuteUsingProcessBuilder {
public static void main(String[] args) {
String[] command;
ProcessBuilder pb = new ProcessBuilder("C:\\Users\\Desktop\\Procurment\\tarql-1.2\\bin\\tarql.bat");
Process process = pb.start();
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
StringBuilder sb = new StringBuilder();
String line;
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
process.waitFor();
System.out.println(sb);
}
}
有人可以帮我,我觉得我做错了这件事。我想在我的aws lambda函数中使用此命令行工具。
这通常是我们将多个以空格分隔的命令传递给流程生成器的方式
ProcessBuilder pb = new ProcessBuilder("command", "command_arg1",
"command_arg2","command_arg3", "command_arg4", ...);
如果我正在运行“ ls -lrt / home / ubuntu / test”,则我的ProcessBuilder看起来像]
ProcessBuilder pb = new ProcessBuilder("ls", "-lrt",
"/home/ubuntu/test");