アプリケーションから別のアプリケーションに渡されるデータのストリームを記録する必要があります(両方とも私の制御下にあります)。
統合テストのために送受信されたバイトを記録するためにこれを実行したいと思います。
私はこのようなことをすることができます:
void inputStreamToOutputStream(final InputStream inputStream, final OutputStream out) {
Thread t = new Thread(new Runnable() {
public void run() {
try {
int d;
while ((d = inputStream.read()) != -1) {
out.write(d);
savedFile.write(d);
}
} catch (IOException ex) {
}
}
});
t.start();
}
しかし、これを行うためのライブラリがすでにあるはずだと感じています。Apache IOUtilsには、copy
2つのストリームを結び付けるメソッドがあることがわかります。
IOUtils.copy(in, out);
しかし、これでは送信されたバイトを「記録」することはできません。私が自分で転がる前に、誰かがすでにこれを行っているまともなライブラリを提案できますか?