Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: Refer en 27 de Agosto 2015, 07:18
-
Buenas a todos, tengo un problema al querer editar un fichero de texto, la cosa va asi.
Cuando escribo algo en un TextArea y lo guardo, este se almacena en el fichero registroDeUsuario.txt este se guarda, pero lo que yo busco es que no se guarde lo mismo.
Algo como esto:
Nombre: Hola como estas
y al mandarlo varias veses al archivo txt archivo pasa esto:
Marco: Hola como estas
Marco: Hola como estas
Marco: Hola como estas
private void gurdarParaHistorial(){
File registroTxt = new File("C:\\registroDeUsuario.txt");
String historial2 = new String(campoTexto.getText());
StringTokenizer st = new StringTokenizer(contenidoTexto,"\n");
while(st.hasMoreTokens()){
String linea = st.nextToken();
try{
FileWriter guardarTexto = new FileWriter(historial2,true);
guardarTexto.write(line+"\r"+"\n");
guardarTexto.close();
}catch(Exception error){
JOptionPane.showMessageDialog(null,"Error al guardar el texto al historial");
}
}
}
Nesecito algo que que compruebe que todo lo que escribio no existe o no esta registrado para poderlo añadir.
-
Hola Refer, si tienes el texto en líneas y no quieres que se guarde una línea igual a una existente, antes de escribir en el fichero tendrás que leer todas las líneas y comprobar si alguna de ellas es igual a la que se pretende escribir. En caso de que sea igual mostrar un mensaje de aviso indicando que ese texto ya existe en el fichero, y en caso de que no exista proceder a guardarlo.
En este hilo puedes ver cómo leer línea a lína un fichero: www.aprenderaprogramar.com/foros/index.php?topic=1154
Y en este ver un ejemplo de lectura y escritura en ficheros: https://www.aprenderaprogramar.com/foros/index.php?topic=712
Para comparar el contenido de líneas tendrás que usar un método como equals aplicado sobre Strings, tendrás que hacer pruebas pues puede verse influido por los caracteres de salto de línea y retorno de carro.
Explicación de equals en http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=68&Itemid=188
Saludos