"O fluxo já foi operado ou fechado" Exceção em Java
*1. Visão geral *
Neste breve artigo, discutiremos uma Exceção comum que podemos encontrar ao trabalhar com a classe Stream no Java 8:
IllegalStateException: stream has already been operated upon or closed.
Descobriremos os cenários quando essa exceção ocorrer e as possíveis maneiras de evitá-la, junto com exemplos práticos.
===* 2. A causa *
No Java 8, cada classe Stream representa uma sequência de dados de uso único e suporta várias operações de E/S.
_ Um _Stream deve ser operado (invocando uma operação de fluxo intermediário ou terminal) apenas uma vez. Uma implementação de fluxo pode gerar IllegalStateException se detectar que o Stream está sendo reutilizado. __
Sempre que uma operação de terminal é chamada em um objeto Stream, a instância é consumida e fechada.
Portanto,* temos permissão para executar apenas uma única operação que consome um Stream *, _ caso contrário, obteremos uma exceção que afirma que o _Stream