Eliminar una linea en especifico de un archivo en java
Publicado por Daniela Fajardo (1 intervención) el 12/07/2017 23:13:35
Este es mi clase para eliminar un registro del archivo (ejem: 1234,Pedro Picapiedra,7436.43,true)...sin embargo, no puedo pasar los registros del archivo (separados por comas) dentro de un arreglo para anular el dato que el usuario me pida pasandolo a un arreglo y reescribiendo el archivo .txt.
Agradezco su ayuda de antemano.
Agradezco su ayuda de antemano.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
public static void leerArchivo() throws IOException {
int line;
File archivo;
FileReader leerA = null;
BufferedReader almacenamiento;
String cadena;
Scanner leer = new Scanner(System.in);
System.out.println("Ingrese el numero de identificacion que desea eliminar");
line = leer.nextInt();
String frase = Integer.toString(line);
archivo = new File("C:\\archivos\\estudiantes.txt");
try {
leerA = new FileReader(archivo);
} catch (FileNotFoundException ex) {
Logger.getLogger(Estudiante.class.getName()).log(Level.SEVERE, null, ex);
}
almacenamiento = new BufferedReader(leerA);
cadena = "";
int contador = 0;
StringTokenizer st;
String bla;
while (cadena != null) {
st = new StringTokenizer(cadena, ",");
int nDatos = st.countTokens();
cadena = almacenamiento.readLine();
String[] datos = new String[nDatos];
int i = 0;
contador = (contador + 1);
while (st.hasMoreTokens()) {
bla = st.nextToken();
// System.out.println(bla);
String str = st.nextToken();
datos[i] = (String.valueOf(str+","+bla) );
System.out.println(datos[i]);
i++;
/*if (frase.equals(bla)) {
cadena = null;
break;*/
}
for (int w=0;w<datos.length;w++){
if(frase.equals(datos[w])){
datos[w]=null;
break;
}
Valora esta pregunta


0