08/06/2012, 15:51
|
| | Fecha de Ingreso: octubre-2009
Mensajes: 29
Antigüedad: 15 años, 3 meses Puntos: 0 | |
archivos java borrrar lineas? hola a todos pues tengo la siguiente duda en un archivo que debo modificar con java, el archivo es el siguiente es un txt que contine:
Código:
[Restrict]
Nod=84413
TraffPoints=84253,84413,84254
TraffRoads=137843,137844
[END-Restrict]
[Restrict]
Nod=84775
TraffPoints=858129,84775,85651
TraffRoads=138697,138698
[END-Restrict]
[Restrict]
Nod=105942
TraffPoints=860894,105942,860894
TraffRoads=670983,670979
[END-Restrict]
entonces al final debo dejarlo asi:
[Restrict]
Nod=84413
TraffPoints=84253,84413,84254
TraffRoads=137843,137844
[END-Restrict]
[Restrict]
Nod=84775
TraffPoints=858129,84775,85651
TraffRoads=138697,138698
[END-Restrict]
donde encuentre la palabra TraffPoints= y los numeros de la posicon 0 y 2 sean iguales debe eliminar todo el bloque
hasta el momento tengo lo siguiente y solo me borra la linea en especifico pero no he podido hacer que me elimine todo el bloque
Código:
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class EliminarCampos {
public static void main(String[] args) {
File f = new File("D:/pruebaarchivo.mp");
try {
BufferedReader entrada = new BufferedReader(new FileReader(f));
FileWriter TextOut = null;
for (; entrada.ready(); TextOut.close()) {
String linea = entrada.readLine();
linea = linea.replace("~[0x1d]", "@");
System.out.println(linea);
String[] valorDeLinea = linea.split("=");
if (valorDeLinea[0].equals("TraffPoints")) {
String[] numeros = valorDeLinea[1].split(",");
if (numeros[0].equals(numeros[2])) {
//se borra la linea
linea = " ";
}
}
File TextFile = new File("D:/f10.mp");
TextOut = new FileWriter(TextFile, true);
TextOut.write((new StringBuilder()).append(linea).append("\…
}
} catch (IOException e) {
}
}
}
si me puede ayudar se los agradeceria |