Não consegui compreender uma parte do código abaixo, (está em uma servlet):
public void doGet(...) throws ...{
response.setContentType("application/jar");
ServletContext ctx = this.getServletContext();
InputStream is = ctx.getResourceAsStream("/bookCode.jar");
int read = 0;
byte[] bytes = new byte[1024];
OutputStream os = response.getOutputStream();
while ((read = is.read(bytes)) != -1) {
os.write(bytes, 0, read);
}
}
Eu sei que ele pega um arquivo jar, cria um outputStream e o preenche com esse arquivo jar.
O que eu não entendi é o funcionamento desse while, eu sei o que ele faz(por que estava escrito no livro), mas não entendi o diferente de -1,
nem o is.read(bytes).
