ao tentar executar esta versão do código
InputStream fis = System.in;
Reader isr = new InputStreamReader(fis);
BufferedReader br = new BufferedReader(isr);
OutputStream fos = System.out;
Writer osw = new OutputStreamWriter(fos);
BufferedWriter bw = new BufferedWriter(osw);
String linha = br.readLine();
while (linha != null && !linha.isEmpty()) {
bw.write(linha);
bw.newLine();
linha = br.readLine();
}
br.close();
bw.close();
não obtenho o resultado esperado, ao escrever a segunda linha ele encerra meu programa inesperadamente... ao utilizar o flush() o código funciona da maneira correta, achei muito estranho. se for relevante estou usando jdk11