Ola pessoal!
Fiz um código j2me que insere dados no txt, mas junto com os dados inseridos ele está colocando um caracter “ÿ” junto com os dados, alguém sabe o porque? abaixo segue o código e o resultado no txt.
FileConnection fc = (FileConnection)
Connector.open("file://localhost/root1/teste30.txt", Connector.READ_WRITE); // PC
//Connector.open("file:///Storage Card/teste30.txt"); // Windows mobile
//Connector.open("file:////teste30.txt"); // Palm TX
OutputStream os = null;
os = fc.openDataOutputStream();
InputStream is = fc.openInputStream();
int in;
while ((in = is.read()) != -1)
{
os.write(in);
}
Calendar cal = Calendar.getInstance();
cal.setTime(this.Datahora.getDate());
os.write(in);// coloca os dados lidos do InputStream no OutputStream
os.write("\r\n".getBytes()); // pula uma linha
os.write((tfNome.getString() +"-"+ tfFone.getString() +"-"+ sexo.getString(sexo.getSelectedIndex())).getBytes());// grava a informação do TextField no txt
os.write("-".getBytes());
os.write((String.valueOf(cal.get(Calendar.DAY_OF_MONTH)) +"/"+ String.valueOf(cal.get(Calendar.MONTH)+1) +"/"+ String.valueOf(cal.get(Calendar.YEAR))).getBytes());
os.write("-".getBytes());
os.write((String.valueOf(cal.get(Calendar.HOUR_OF_DAY)) +":"+ String.valueOf(cal.get(Calendar.MINUTE)) +":"+ String.valueOf(cal.get(Calendar.SECOND))).getBytes());
fc.close();
System.out.println("Informação inserida no txt...");
}
catch (IOException ioe)
{
System.out.println("IOException: "+ioe.getMessage());
}
catch (SecurityException se)
{
System.out.println("Exceção de segurança:" + se.getMessage());
}
resultado no txt
Dados no txt
kkk-555-Masculino-20/8/2011-21:34:0
Dados no txt depois da inserção dos dados
kkk-555-Masculino-20/8/2011-21:34:0ÿ
andre simoes-555555555-Masculino-22/8/2011-10:26:0
Como podem ver o código inseriu um “ÿ” antes de pular a linha e colocar os novos dados
Alguém sabe porque?
Obrigado.
