Erro java.lang.NullPointerException

0 respostas
J

Pessoal,

Estou precisando abrir um arquivo e fazer algo assim:
WAR$23699$Touchstone$Corea$Corea#

Eu iria eliminar o registro acima da minha TreeMap e no arquivo devo fazer isso aqui (no lugar onde está o registro acima):
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

substitui-lo por x's.

O que fiz, quando manipulei já guardei onde todos os registros começaram no arquivo com o e o seu próprio tamanho,
Então o que fiz:

RandomAccessFile raf = new RandomAccessFile ( "dados.txt", "rw" ) ; 
	
   
          try  {
             
                   Scanner sk;	     
                   Writer out = new OutputStreamWriter ( new  FileOutputStream ( raf.getFD (  )  ) , "UTF-8" ); 
	     int i=0;
	     int n1=0;
	     int n2=0;
	     System.out.print("Confirme a chave a ser Editada: ");
	     sk = new Scanner(System.in); 
	     String leitura8 = sk.next();
	     
	     n1 = map.get(leitura8).getInicio();
	     n2 = map.get(leitura8).getTamanho();
	     
	     
             raf.seek (n1+1); 
             while(n1<n2)
	     {
		     out.write( "x " ) ;  
		     n1++;
		     
	     }
	     out.flush();
          }
	 catch (FileNotFoundException ex) { 
		 ex.printStackTrace(); 
		 System.err.println(ex); 
	 }
	 catch (IOException ioe) {
			ioe.printStackTrace();
		}

onde então ele da os problemas.
os Campos getInicio e getTamanho, foi o que eu tinha tido, que são os campos onde guardei o inicio de todos os registros no arquivo e seu tamanho e com o seek eu iria até lá e substituiria tudo por x.

meu programa está todo em anexo, se alguém puder me da uma força:
O problema está na classe Indice,
da linha 229 até a linha 264.

Para testar o programa basta rodar a classe
TestePrograma.java

abraços e agradeço.
Jhonata Emerick

Criado 9 de junho de 2007
Respostas 0
Participantes 1