Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Conteúdo não adiciona do ficheiro de saída utilizando System.in

Boas pessoal, o Meu código gera o ficheiro saida.txt e adiciona conteúdo apenas quando utilizado o ficheiro leitora em com FileInputStream. Quando tento utilizar o System.in, gera o ficheiro mais não adiciona o conteúdo que escrevo na consola.

package ao.co.sistetulene.programa;
import java.io.*;

public class TestaJavaIO {

    public static void main(String[] args) throws IOException {

        InputStream  is = System.in;
        //new FileInputStream("leitura.txt");

        InputStreamReader isr =  new InputStreamReader(is);
        BufferedReader br = new BufferedReader(isr);

        OutputStream os = new FileOutputStream("saida2.txt");
        //OutputStream os = System.out;

        OutputStreamWriter osw =new  OutputStreamWriter(os);
        BufferedWriter bw = new BufferedWriter(osw);

        String linha = br.readLine();

        while (linha != null) {
            bw.append(linha);
            bw.newLine();
            linha = br.readLine();
        }
        br.close();
        bw.close();
    }
}

Nota: Após escrever na consola paro o programa, só depois é que vou ver o ficheiro.

3 respostas

Oi Martins,

Você tentou dar um F5 no diretório raiz do seu projeto depois de parar o programa e só depois abrir o arquivo saida2.txt?

Aqui o seu código funciona normalmente.

Abraço!

Estou com o mesmo problema. Deixei a classe identica aquela da video aula e nada...

solução!

Acho que descobri aqui. Pelo menos o que resolveu pra mim foi colocar while(linha.isEmpty){...}.....Antes, quando eu removia o laço, salvava normalmente no arquivo. Percebi que forçar a parada do fluxo de repetição parece que fazia perder as informações. Comecei a testar as condições, linha != null não funcionou, e linha == "" tambem nao. Tanto que na própria aula ele para o fluxo de repetição no stop, a condição parece nao funcionar mesmo daquela forma.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software