Problemas com arquivo texto

4 respostas
N

eu escrevi um programa q escreve num arquivo texto as informações q o usuário solicita, o problema é que ele parou de pular de linha no arquivo. Outra coisa q gostaria de saber é como apagar os dados do arquivo para poder fazer as alterações necessárias
segue o código

import java.io.*;

class arquivoTexto
{
 BufferedReader entrada = null;
 PrintStream saida = null;
 private dados vetorDados [] = new dados [100];
 String path = null;
 
 
 public arquivoTexto(String caminho)
 {
  path = caminho;
  try
  {
   entrada = new BufferedReader(new FileReader(caminho));
  }
  catch(IOException e)
  {
   System.err.println("o arquivo não existe");
   return;
  }

  int indice = 0;
  try
  {
   while (entrada.ready())
   {
   vetorDados[indice] = new dados();
   vetorDados[indice].atribuiCodigo(entrada.readLine());
   vetorDados[indice].atribuiNome(entrada.readLine());
   indice++;
   }
  }
  catch (Exception e)
  {for (int i = indice; i < vetorDados.length; i++)
        vetorDados[i] = null;
   return;}
 }

 private int posicaoVazia()
 {
  for (int cont = 0; cont < 100; cont++)
       if (vetorDados[cont] == null)
           return cont;

  return -1;
 }

 public void inserir(String c, String n)
 {
  int posicaoVazia = posicaoVazia();
  //System.err.println(posicaoVazia);
  /*System.out.println(c);
  System.out.println(n);*/
  vetorDados[posicaoVazia] = new dados(c,n);
  //System.err.println("passou aki no inserir");
  escrever(0);
 }

 public int buscar(String c)
 {
  for (int i = 0; i < 100; i++)
  	   if (vetorDados[i] != null) 
  	       if (vetorDados[i].oCodigo().equals(c))
  	           return i;
  	       
  return -1;
 }

 public void excluir(String a)
 {
  int posicao = buscar(a);
  if (posicao != -1)
      vetorDados[posicao] = null;
  escrever(1);
 }

 public void alterar(String c,String n) // altera o campo nome de código cpara o parâmentro n
 {
  int posicao = buscar(c);
  vetorDados[posicao].atribuiNome(n);
  escrever(2);
 }
 
 public void escrever(int quem)
 {
  try
  {
   saida = new PrintStream(new FileOutputStream (path) );
  }
  catch(IOException e)
  {
   System.err.println("o arquivo não existe");
   return;
  }
   
  if (quem != 0)
  {
  	PrintStream aux = null;
    try
	  {
	   aux = new PrintStream(new FileOutputStream (path) );
	   for (int contador = 0; contador < 100; contador++)
            aux.println(" 																							");

	  }
	  catch(IOException e)
	  {
	   System.err.println("o arquivo não existe");
	   return;
	  }
  }
  
  for (int i = 0; i < 100; i++)
       {
		if (vetorDados[i] != null)
		    {System.out.println();
			 System.out.println(vetorDados[i].oCodigo());
		     System.out.println(vetorDados[i].oNome());
		     saida.println(vetorDados[i].oCodigo());
		     saida.println(vetorDados[i].oNome());}
       }
  saida.flush; 
 }
 
 }

4 Respostas

N

opa, naum precisa mais jah resolvi

jcatino

nightpath:
opa, naum precisa mais jah resolvi

Não precisa, mas já resolveu ?
Para que resolveu se não precisa ? [:)]

R

cara, entao manda ai como vc fez pra apagar o conteudo do arquivo texto e entrar novas informacoes…
T+

H

Eu uso o RandomAcessFile p criar arquivo texto, mas tb n consegui axar um metodo p apagar, tipo, eu colocava o ponteiro em cima da posicao q keria apgar e escrevia por cima, mas apagar msm n consegui, como vc fez?

Criado 28 de março de 2006
Ultima resposta 10 de mai. de 2006
Respostas 4
Participantes 4