[Resolvido] Arquivos

11 respostas
ezbueno

Boa noite!

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);
	    }
	}

Desde já, obrigado.

11 Respostas

kritiuns
romarcio

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.

romarcio

:oops: Foi mal, duplicou a mensagem a cima :oops:

Vingdel

Boa Noite!

Pode fazer assim:
import java.io.*;
import javax.swing.JOptionPane;

public class EntradaTexto {
	BufferedWriter buffer;
	String texto = "";

	public void  GravarTexto (int [] vet, File file){
		   
		try{
			buffer = new BufferedWriter(new FileWriter(file));
	
			pegaTexto();

			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 void pegaTexto() throws IOException{
		texto = "";
		texto = JOptionPane.showInputDialog("Digite algo no teclado");
		if(!texto.equals("")){
			buffer.write(texto+" ");
			buffer.newLine();
			pegaTexto();
		}else{
			buffer.close();
			System.exit(0);
		}
	}
	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);
	}
}

É isso mesmo que você quer fazer?

Abraço!

ezbueno

Bom dia galera!
Obrigado pela ajuda…funcionou perfeitamente!!!

nel

ezbueno:
Bom dia galera!
Obrigado pela ajuda…funcionou perfeitamente!!!

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 :smiley:

Abraços!!!

ezbueno

ezbueno:
Bom dia galera!
Obrigado pela ajuda…funcionou perfeitamente!!!

[Resolvido]

ezbueno

ezbueno:
ezbueno:
Vlw galera!
Obrigado pela ajuda…funcionou perfeitamente!!!

[Resolvido]

ezbueno

Ok Nel…obrigado por me avisar!

Abraços

Vingdel

Amigo, boa noite!

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.

Ele vai ficar assim: “[RESOLVIDO] Arquivos”.

Abraço!

ezbueno

Boa noite, Vingdel!
Obrigado.

Abraços

Criado 24 de maio de 2011
Ultima resposta 25 de mai. de 2011
Respostas 11
Participantes 5