私の経歴は.netで、Javaはかなり初めてです。私の会社のJava=チームのためにいくつかの作業を行っています。アーキテクトは、InputStream(Java.io)オブジェクトを取得するメソッドを実装する必要があります。メソッドの目的を達成するために、これをバイト配列に変換します。これを行う簡単な方法はありますか?
最も簡単な方法は、新しいByteArrayOutputStream
を作成し、そこにバイトをコピーしてから、toByteArray
を呼び出すことです。
public static byte[] readFully(InputStream input) throws IOException
{
byte[] buffer = new byte[8192];
int bytesRead;
ByteArrayOutputStream output = new ByteArrayOutputStream();
while ((bytesRead = input.read(buffer)) != -1)
{
output.write(buffer, 0, bytesRead);
}
return output.toByteArray();
}
単純な方法はorg.Apache.commons.io.IOUtils.toByteArray( inputStream )
を使用することです。 Apache commons io を参照してください。