Por volta dos 7 minutos da aula 4 Pacotes java.io, o instrutor simula um editor de textos colocando na entrada de fluxo System.in E em sua saída de fluxos um FileOutputStream("saida.txt") Faço de forma igual, porem quando eu coloco meu InputStream is = System.in; ele não faz a escrita no arquivo. A escruta no arquivo só dá certo quando na entrada eu coloco para ele ler de um arquivo e não da entrada padrão. Apenas quando leio de um arquivo dessa forma
InputStream is = new FileInputStream("texto.txt");
Não faço ideia de algum possivel problema que não consigo fazer a escrita no arquivo quando a entrada é a entrada padrão com o System.in. Estou usando a jdk1.8.0_40. Meu código
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.Writer;
public class IORevisao001 {
public static void main(String[] args) {
// int quantidadeCaracteres = 0;
// ------------ENTRADA LEITURA (IN)
try {
//InputStream is = new FileInputStream("leitura.txt");
InputStream is = System.in;
InputStreamReader isr = new InputStreamReader(is);
// while (true) {
// int bytesLidos = is.read();
// if (bytesLidos == -1)
// break;
// System.out.println("Byte lido = " + bytesLidos);
// quantidadeCaracteres++;
// }
BufferedReader br = new BufferedReader(isr);
// while (true) {
// String linha = br.readLine();
// if (linha == null)
// break;
// System.out.println(linha);
// }
// -----------------SAIDA ( OUT)
OutputStream os = new FileOutputStream("saidaRevisao.txt");
//OutputStream os = System.out;
OutputStreamWriter osw = new OutputStreamWriter(os);
BufferedWriter bw = new BufferedWriter(osw);
String linha = br.readLine();
while (linha != null) {
//System.out.println(linha);
// bw.write(linha);
bw.append(linha);
bw.newLine();
// os.write(is.read());
// osw.write(linha);
// osw.append(linha);
linha = br.readLine();
}
bw.close();
br.close();
} catch (FileNotFoundException e) {
System.out.println("Arquivo não encontrado!");
} catch (IOException e) {
System.out.println(e);
}
// System.out.println("Quantidade de bytes lidos " +
// quantidadeCaracteres);
}
}