Foros del Web » Programación para mayores de 30 ;) » Java »

Buscar_Palabra en una linea y Borrar_Linea_Fichero_Java

Estas en el tema de Buscar_Palabra en una linea y Borrar_Linea_Fichero_Java en el foro de Java en Foros del Web. Hola me gustaría borrar una linea de fichero, pero de esta manera. Tengo esto: un ejemplo 77777 jose perez Calle los naranjos se buscar en ...
  #1 (permalink)  
Antiguo 14/01/2013, 09:03
Enjavado
Invitado
 
Mensajes: n/a
Puntos:
Buscar_Palabra en una linea y Borrar_Linea_Fichero_Java

Hola me gustaría borrar una linea de fichero, pero de esta manera.

Tengo esto:

un ejemplo
77777 jose perez Calle los naranjos

se buscar en el archivo una palabra y imprimirla en pantalla, pero no se borrarla.
Alguien sabe, o me da algún ejemplo.

He encontrado un código pero no me sirve, solo te borra la linea si la escribes al completo, y yo lo que quiero es buscar una palabra en la linea del archivo.
Ejemplo: 77777 y que me borre dicha linea.

Agradezco la ayuda.

ESTO ES PARA BUSCAR UNA PALABRA Y QUE IMPRIMA LA LINEA
========================================

Código:
 void busquedaRegistro(){
       java.util.Scanner scanner = new Scanner(System.in);
	 System.out.println("Introduce una cadena de texto a buscar: ");
	 String request = scanner.next();
         //if (request.length() == 9){ 
	 	try {
			final BufferedReader reader = new BufferedReader(new FileReader("datoscliente.dat"));
			String line = "";
			while((line = reader.readLine())!= null){
				if(line.indexOf(request)!= -1){	
                                    System.out.println(""+line);
				}
                                
			}reader.close();
	 	} catch (FileNotFoundException e) 
                {    System.err.println("No se encuentra el registro, Fichero borrado");
		} catch (IOException           e) {e.printStackTrace();
		}
	//}
}
  #2 (permalink)  
Antiguo 14/01/2013, 09:18
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: Buscar_Palabra en una linea y Borrar_Linea_Fichero_Java

Hola:

En un fichero estándar no se puede insertar entre medias ni borrar entre medias, no porque java no pueda, sino porque los sistemas operativos no lo permiten/ofrecen mecanismos para hacerlo. Como mucho, se puede "machacar" una zona del fichero con otro contenido de exactamente la misma longitud, por ejemplo, si tu fichero tiene "hola Pedro, buenos días", podrías poner "hola Pablo, buenos días", o "hola Juan , buenos dias" (fijate en el espacio adional delante de la coma), pero no puedes poner "hola Federico Hernández, buenos días". Es por eso la "solución" que encontraste que posiblemente escribe espacios en blanco encima de la línea, sin realmente borrarla.

La única solución es escribir el fichero completo con el nuevo contenido aparte y luego "moverlo" encima del original para machacarlo.

Se bueno.
__________________
Apuntes Java
Wiki de Programación

Etiquetas: string
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:07.