Ich versuche, ein Byte-Array an stdin zu übergeben, wenn ich einen Prozess mit ProcessBuilder ausführe. Wenn ich eine kleine Menge wie 100.000 Bytes schreibe, funktioniert es. Beim Schreiben von etwas mehr bleibt der Thread hängen. Was übersehe ich hier?
Dieser vereinfachte Code zeigt, was ich zu tun versuche
ProcessBuilder builder = new ProcessBuilder();
builder.command("cat");
Process process = builder.start();
OutputStream stdin = process.getOutputStream();
InputStream stdout = process.getInputStream();
BufferedOutputStream outputStream = new BufferedOutputStream(stdin);
outputStream.write(data);
outputStream.close();
byte[] out = stdout.readAllBytes();
ProcessBuilder-Prozessthread hängt mit größerem Standard-Stream ⇐ Java
-
- Similar Topics
- Replies
- Views
- Last post