IO com saída txt

Olá a todos.

Estou tentando realizar leitura de dados pelo teclado, com saída em um arquivo txt, mas o mesmo está retornando em branco. Qual o problema nesse trecho?
Quem puder ajudar, fico grata.

InputStream is = System.in;
InputStreamReader fis = new InputStreamReader(is);
BufferedReader br = new BufferedReader(fis);
		
OutputStream os = new FileOutputStream("saida.txt");
OutputStreamWriter osw = new OutputStreamWriter(os);
BufferedWriter bw = new BufferedWriter(osw);
		
	String s = br.readLine();
		
	while(s!=null){
		bw.write(s);
		bw.newLine();
		s = br.readLine();
	}
		
	br.close();
	bw.close();

o usuario esta digitando o texto no console onde foi rodado a aplicação ?

[]s

para fazer a entrada digitada pelo teclado importe o pacote

import java.io.Console //este pacote faz a leitura do console(Prompt)
import java.io.IOException;

public class leituraTeclado{

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

        Console c = System.console();
        if (c == null) {
            
             //Aqui coleque a sua implementação
        }
    }
}

Abraços

Então,

O seu programa eu não consegui arruma nao, uma coisa é certa:

  • o arquivo nao esta sendo fechado, por isso o arquivo fica em branco.

desse jeito aqui funciona…

[code]import java.io.FileNotFoundException;
import java.io.PrintStream;
import java.util.Scanner;

public class StringDoTeclado2 {

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

	Scanner s = new Scanner(System.in);
	PrintStream ps = new PrintStream("arquivo.txt");
	while (s.hasNextLine()) {
		ps.println(s.nextLine());
	}

}

}[/code]

Valeu a todos, pela ajuda. Mas, testei aqui, e continua retornando em branco, inclusive usando PrintStream. Muito estranho…

Como assim?

O código que te passei esta funcionando!!!

é sério. os passos que estou seguindo:

-rodo o programa
-digito o txt no console
-refresh no projeto
-abrir o arquivo.txt

e volta em branco. não sei o que pode ser.

idéias, por favor, são bem-vindas…

experimenta depois de concluir tudo fechar o arquivo

arq.close();

tenta depois do loop colocar um bw.flush();

Ele “atualiza” o arquivo.

Link documentação: http://java.sun.com/j2se/1.4.2/docs/api/java/io/BufferedWriter.html#flush()

Obrigada a todos. Foi erro meu mesmo, era só fechar o arquivo. Segue o código:

Scanner entrada = new Scanner(System.in);
		
		PrintWriter ps = new PrintWriter("saida.txt");
		
		while(entrada.hasNextLine()){
			ps.println(entrada.nextLine());		
		}
		
		ps.close();
		//entrada.close();