Dúvida sobre Streams

2 respostas
L

Pessoal,
se tivermos algo como:

...
FileInputStream file = new FileInputStream("arquivo.dat");
BufferedInputStream bis = new BufferedInputStream(file);
DataInputStream dis = new DataInputStream(bis);
...
dis.close();

Se eu fechar o último stream da cadeia, automáticamente, vou estar fechando os outros streams? Ou seja, dis.close() fecha o stream dis, bis e file, do exemplo.

2 Respostas

ViniGodoy

Era para fazer isso sim…

Até para viabilizar o uso de streams anônimos, como recomendados em diversos tutoriais da própria sun.

Por exemplo, seria problemático fazer isso aqui, se ele não fechasse:

DataInputStream dis = new DataInputStream(new BufferedInputStream(new FileInputStream("arquivo.dat")));

LPJava

sim vc esta fechando toda a cadeia… observese que cada Stream eh encapsulada com a outra… mais no fim todas se refere ao arquivo que vai serializar!! :smiley:

Criado 24 de março de 2007
Ultima resposta 24 de mar. de 2007
Respostas 2
Participantes 3