Ich verwende ProcessBuilder, um einen Befehl auszuführen. Die Befehlsausgabe ist im jSON-Format, und ich möchte die Zeichenfolge zurückgeben und sie dann mit meinen Modellen abbilden.ProcessBuilder kann keine JSon-Zeichenfolge zurückgeben
Das Problem ist, ich bekomme kein Ergebnis, wenn Sie versuchen, den Stream aus dem Prozess zu lesen. Der Befehl, den ich verwende, hat auch einen nicht-jSON-Ausgang. Wenn ich diesen Befehl Version verwenden, ich das Ergebnis zu erhalten, so dass nur das Problem tritt auf, wenn ich JSon lesen will ..
public String getPlate(String image) throws IOException, InterruptedException{
ProcessBuilder pb = new ProcessBuilder("alpr", "-c eu", "-j on", "-n 1", image);
Process p = pb.start();
p.waitFor();
BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream()));
StringBuilder builder = new StringBuilder();
String line;
while ((line = reader.readLine()) != null) {
builder.append(line);
builder.append(System.getProperty("line.separator"));
}
String result = builder.toString();
return result;
}
Mit diesem Befehl wird kein Ergebnis gegeben, wenn ich die nicht-JSon Version verwenden
ProcessBuilder pb = new ProcessBuilder("alpr", "-c eu", "-n 1", image);
ich habe das Ergebnis ..