Estou tentando fazer um programa onde o usuário digita algumas linhas através da entrada padrão e estas linhas são gravadas uma a uma em um arquivo chamado log.txt, consigo visualizar o que foi digitado no arquivo, porém preciso que o programa finalize quando a linha digitada for em branco. Poderiam me ajudar? Abaixo o código:
import java.io.*;
import javax.swing.JOptionPane;
public class EntradaTexto {
public void GravarTexto (int [] vet, File file){
try{
BufferedWriter buffer = new BufferedWriter(new FileWriter (file));
String texto = "";
for(int i = 0; i < 5; i++){
texto = JOptionPane.showInputDialog("Digite algo no teclado");
buffer.write(texto+" ");
buffer.newLine();
}
buffer.close();
JOptionPane.showMessageDialog(null,"Arquivo gravado com " +
"sucesso","Concluído",JOptionPane.INFORMATION_MESSAGE);
}catch (IOException e){
JOptionPane.showMessageDialog(null,e.getMessage(),
"Atenção",JOptionPane.WARNING_MESSAGE);
}
}
public static void main(String args[]) throws IOException{
EntradaTexto grava=new EntradaTexto();
File file = new File("C:\log.txt");
int [] texto = null;
grava.GravarTexto(texto, file);
}
}
Troque isso:
for(int i = 0; i < 5; i++){
texto = JOptionPane.showInputDialog("Digite algo no teclado");
buffer.write(texto+" ");
buffer.newLine();
}
Por isso:
do {
texto = JOptionPane.showInputDialog("Digite algo no teclado");
buffer.write(texto + " ");
buffer.newLine();
} while (!texto.equals(""));
Enquanto a variavel texto for diferente de vazio ele vai ficar no loop.
[quote=ezbueno]Bom dia galera!
Obrigado pela ajuda…funcionou perfeitamente!!![/quote]
Show de bola!
Só não esqueça de quando seu problema for resolvido, editar o tópico da sua mensagem adicionado ao final do tópico [Resolvido].
Assim, evita que pessoas acessem seu tópico para ajudar, sendo que o mesmo já está resolvido, como foi o meu caso
Para identificar seu tópico como [RESOLVIDO] você tem que EDITAR (olhe no canto superior direito da postagem) a sua primeira postagem. Quando abrir a tela de edição você acrescenta [RESOLVIDO] no início do assunto.