Ajuda - arquivo txt

6 respostas
E

Ola pessoal, gostaria de uma ajuda.
Estou fazendo uma aplicação em j2me, que insere e grava em um arquivo txt.
Mais estou com um problema eu não estou conseguindo coloca o cursor na ultima linha, assim toda vez que eu insiro novos dados ele esta sobre escrevendo.

Preciso de uma ajuda.

Att EduardoSga

6 Respostas

henriqueluz

Poste o código para tentarmos ajuda-lo.

E
new Thread(new Runnable() {  
            public void run() {    
               try{ 
                   fc = (FileConnection)Connector.open("file://localhost/root1/"+teste+".txt",Connector.READ_WRITE);  
                   if (!fc.exists()) {  
                       fc.create();
                       System.out.println("Ola mundo");
                   }
                    escreve = fc.openOutputStream();
                    
                    if(cont == 1){
                        
                        String var1 = "Auditoria\r\n";
                        String var2 = "Setor        = " + setor.getString() +"\r\n";
                        String var3 = "Data         = " + data.getString() +"\r\n";
                        String var4 = "Auditor1    = " + Auditor1.getString() +"\r\n";
                        String var5 = "Auditor2    = " + Auditor2.getString() +"\r\n";
                        String var6 = "Auditado    = " + Auditado.getString() +"\r\n";
                        String var7 = "##############################################\r\n";
                                                
                        escreve.write(var1.getBytes());
                        escreve.write(var2.getBytes());
                        escreve.write(var3.getBytes());
                        escreve.write(var4.getBytes());
                        escreve.write(var5.getBytes());
                        escreve.write(var6.getBytes());
                        escreve.write(var7.getBytes());
                    }else{
                        if(cont == 2){
      
                        String var1 = "Pergunta\r\n" + conta;
                        String var2 = "Conforme   = " + conforme.getString() +"\r\n";
                        String var3 = "Na*        = " + na.getString() +"\r\n";
                        String var4 = "Observação = " + observacoes.getString() +"\r\n";
                        String var7 = "\r\n";
                                                
                        escreve.write(var1.getBytes());
                        escreve.write(var2.getBytes());
                        escreve.write(var3.getBytes());
                        escreve.write(var4.getBytes());
                        escreve.write(var7.getBytes());
                        
                        conta++;
                        }
                    }
                    
                    
               }catch(Exception e){  
                    e.printStackTrace();
 
            }  
        }
     }).start();

Então esta é a parte que cria o arquivo txt e insere os dados, onde a um if(cont == 1) vai se inserido somente uma vez e onde tem o cont == 2 que vai ser inserido varias vezes.
So quero sabe como que eu faço para colocar o cursor na ultima linha?

Marky.Vasconcelos

Voce tem duas soluções, a primeira é procurar se existe alguma flag que voce precise passar para que voce abra o OutpuStream em modo APPEND.

Segundo é voce ler o arquivo inteiro, guardar em um StringBuilder, concatenar com os novos dados e gravar tudo no arquivo.

E

Teria como dar um exemplo?

Marky.Vasconcelos

Para a primeira solução não sei se é possivel no JME.

Sobre a segunda basta criar um FileInputStream primeiro, ler todo conteudo e enviar para o FileOutputStream antes dos novos dados.

E

Mais tem como me mostra em forma de código como eu faria isso?

No segundo casso?

Criado 19 de julho de 2011
Ultima resposta 20 de jul. de 2011
Respostas 6
Participantes 3