InputStream(入力用)やOutputStream(出力用)の目的は、入出力を抽象化すること。
つまり、入出力のソースがファイルだろうがWebサイトだろうが標準入出力だろうが関係ないようにすること。
Input(Output)Streamは抽象クラスで、入出力を伴う処理は、これらのクラスを継承したクラスで行う。
FileInputStreamとかSocketInputStreamとか。
で、これらはInput(Output)Streamの設計に基づいて作られることになるので、入出力のインターフェース(ファイルとか)がなんであろうともInput(Output)Streamで処理できる。
InputStream is = getResources().openRawResource(R.drawable.ic_launcher);
bmp = BitmapFactory.decodeStream(is);