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
Poste o código para tentarmos ajuda-lo.
[code]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();
[/code]
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?
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.
Teria como dar um exemplo?
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.
Mais tem como me mostra em forma de código como eu faria isso?
No segundo casso?