Computación - Eliminar una linea en especifico de un archivo en java

 
Vista:

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.

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
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 16
Ha disminuido 1 puesto en Computación (en relación al último mes)
Gráfica de Computación

Eliminar una linea en especifico de un archivo en java

Publicado por Juan (12 intervenciones) el 14/07/2017 10:24:41
Buenas Daniela

Prueba en el foro de Java, quizás allí te puedan ayudar mejor ;)

Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar