Maneria correta de chamar método com InputStream

Tenho um método aqui para trabalhar com imagens, e como parâmetros ela pede:

gerarThumbnail(InputStream inputStream, OutputStream out, int thumbAltura, float quality)

O InputStream é o caminho onde esta a Foto ( tipo C:/foto.jpg ) ? Como seria a maneira correta de chamar
este método ?

( Obs. Não entendo de InputStream, OuputStream )

Sim, o InputStream vai indicar o fluxo de entrada, onde está a foto. Pode ser um arquivo ou mesmo um socket.
O outputStream é onde o tumbnail vai ser enviado. Também pode ser um arquivo, socket, ou qualquer outra coisa que os streams suportem.

Não sei como funciona o parâmetro quality. Mas, supondo que seja em percentual, esse método poderia ser chamado assim:

try { InputStream source = null; OutputStream destination = null; try { source = new FileInputStream("C:\foto.png"); destination = new FileOutputStream("C:\thumb.png"); gerarThumbnail(source, destination, 50, 1); } finally { if (source != null) { source.flush(); source.close(); } if (destionation != null) { destination.flush(); destination.close(); } } } catch (IOException e) { //Pode ser que os arquivos não estejam acessíveis. Trate essa exceção para esses casos. throw new RuntimeException(e); }