Skip to content

Commit 68441f7

Browse files
committed
20230704A
1 parent 91d7405 commit 68441f7

File tree

7 files changed

+136
-8
lines changed

7 files changed

+136
-8
lines changed

alumnos.txt

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,6 @@
11
Apellidos, Nombres, DNI, Email, Comision
2-
Juan, Lopez, 12345678, juan@gmail.com, 12345
3-
Pedro, Lee, 12345678, lee@gmail.com, 12345
42
Ana, Garcia, 12345678, ana@gmail.com, 12345
5-
Jose, Lopez, 12345678, jose@aa.bb, 12345
6-
Ariel, Join, 78945612, andres@aa.bb, 12345
7-
Lucas, Amirlo, 45612378, lucas@aa.bb, 12345
8-
Miguel, Ann, 14725896, aa@aa.aa, 12345
3+
ArielMiguel, Ann, 14725896, aa@aa.aa, 12345
94
Gricelda, Torr, 96325874, bcvf@man.cc, 78945
105
Lia, Fernandez, 45685236, aaa@bb.nn, 12345
116
Pepe, Pais, 45685296, pepe@aa.bb, 12345

bin/Principal/GestionAlumno.class

1.51 KB
Binary file not shown.

bin/Principal/GestionArchivo.class

925 Bytes
Binary file not shown.

bin/Principal/Main.class

-364 Bytes
Binary file not shown.

src/Principal/GestionAlumno.java

Lines changed: 106 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import java.io.FileWriter;
77
import java.io.IOException;
88
import java.util.ArrayList;
9+
import java.util.List;
910

1011
import javax.swing.JOptionPane;
1112

@@ -158,10 +159,112 @@ public void listarAlumno() {
158159

159160
// --------------------------------------------------------------------------------------------------
160161
// método para MODIFICAR alumno
162+
public void modificarAlumno() {
163+
// Leer el archivo de texto y almacenar los datos en una estructura de datos
164+
ArrayList<String> lineas3 = new ArrayList<>();
165+
try {
166+
BufferedReader br3 = new BufferedReader(new FileReader("alumnos.txt"));
167+
String linea3;
168+
169+
while ((linea3 = br3.readLine()) != null) {
170+
lineas3.add(linea3 + "\n");
171+
}
172+
173+
br3.close();
174+
} catch (IOException e) {
175+
e.printStackTrace();
176+
return;
177+
}
178+
179+
// se define una variable booleana para manejar el hallazgo de la busqueda
180+
boolean encontrado = false;
181+
182+
// ingreso el término a buscar
183+
String aBuscar;
184+
aBuscar = JOptionPane.showInputDialog("Ingrese el nombre o apellido o email o DNI a buscar");
185+
186+
// recorro el arrayList identificando lineas
187+
for (int a = 0; a < lineas3.size(); a++) {
188+
System.out.println("Linea: " + a + " - " + lineas3.get(a));
189+
190+
// transformo el contenido de 'linea3' en una secuencia de elementos
191+
String oracion = lineas3.get(a).toString();
192+
//se borran los espacios en blanco
193+
oracion = oracion.replaceAll(" ", "");
194+
195+
// separo los elementos de la cadena en elementos individuales para buscarlos,
196+
// ubicandolos dentro de un arrayList
197+
String[] terminos = oracion.split(",");
198+
System.out.println("terminos: "+terminos);
199+
200+
// vuelvo a false el elemento de busqueda antes de cada ciclo
201+
encontrado = false;
202+
203+
// comparo el término de búsqueda con los elementos del arrayList anterior
204+
205+
for (String elemento : terminos) {
206+
if (elemento.equals(aBuscar)) {
207+
encontrado = true;
208+
}
209+
}
210+
// si el elemento buscado se encuentra: se notifica, se muestra el registro
211+
// completo. Luego se sigue recorriendo otros registros buscando nuevas
212+
// coincidencias
213+
if (encontrado) {
214+
System.out.println("El término " + aBuscar + " se ha encontrado");
215+
JOptionPane.showMessageDialog(null, "El término " + aBuscar + " se ha encontrado", "Fin de la búsqueda",
216+
JOptionPane.ERROR_MESSAGE);
217+
JOptionPane.showMessageDialog(null, "Los datos del registro son " + "\n" + "(El número inicial es el «registro»)" + "\n"+a+"- "+ lineas3.get(a),
218+
"Fin de la búsqueda",
219+
JOptionPane.ERROR_MESSAGE);
220+
221+
//ingreso del texto que se modifica
222+
String loNuevo=JOptionPane.showInputDialog("Aquí se puede modificar el elemento buscado «"+aBuscar+"» por uno nuevo");
223+
System.out.println(lineas3);
224+
225+
//String[] elemento.set(a,loNuevo);
226+
System.out.println(lineas3);
227+
228+
229+
230+
}
231+
232+
}
233+
// Si se completó toda la busqueda sin ninguna coincidencia, se muestra un
234+
// mensaje
235+
if (encontrado) {
236+
237+
} else {
238+
JOptionPane.showMessageDialog(null, "El término " + aBuscar + " NO se ha encontrado", "Fin de la búsqueda",
239+
JOptionPane.ERROR_MESSAGE);
240+
}
241+
242+
// Escribir las líneas restantes de vuelta al archivo de texto
243+
try {
244+
BufferedWriter bw3 = new BufferedWriter(new FileWriter("alumnos.txt"));
245+
246+
for (String linea : lineas3) {
247+
bw3.write(linea);
248+
}
249+
250+
bw3.close();
251+
252+
System.out.println("La línea ha sido modificada en el archivo.");
253+
JOptionPane.showMessageDialog(null, "La linea ha sido modificada en el archivo.", "Acción realizada",
254+
JOptionPane.ERROR_MESSAGE);
255+
} catch (IOException e) {
256+
e.printStackTrace();
257+
}
258+
259+
}
260+
161261

162262
// --------------------------------------------------------------------------------------------------
163263
// método para BUSCAR alumno
164264

265+
private void set(int a, String loNuevo) {
266+
}
267+
165268
public void buscarAlumno() {
166269
// Leer el archivo de texto y almacenar los datos en una estructura de datos
167270
ArrayList<String> lineas3 = new ArrayList<>();
@@ -192,6 +295,7 @@ public void buscarAlumno() {
192295

193296
// transformo el contenido de 'linea3' en una secuencia de elementos
194297
String oracion = lineas3.get(a).toString();
298+
//se borran los espacios en blanco
195299
oracion = oracion.replaceAll(" ", "");
196300

197301
// separo los elementos de la cadena en elementos individuales para buscarlos,
@@ -214,7 +318,7 @@ public void buscarAlumno() {
214318
System.out.println("El término " + aBuscar + " se ha encontrado");
215319
JOptionPane.showMessageDialog(null, "El término " + aBuscar + " se ha encontrado", "Fin de la búsqueda",
216320
JOptionPane.ERROR_MESSAGE);
217-
JOptionPane.showMessageDialog(null, "Los datos del registro son " + "\n" + lineas3.get(a),
321+
JOptionPane.showMessageDialog(null, "Los datos del registro son " + "\n" + "(El número inicial es el «registro»)" + "\n"+a+"- "+ lineas3.get(a),
218322
"Fin de la búsqueda",
219323
JOptionPane.ERROR_MESSAGE);
220324

@@ -230,6 +334,7 @@ public void buscarAlumno() {
230334
JOptionPane.ERROR_MESSAGE);
231335
}
232336

337+
233338
}
234339

235340
// --------------------------------------------------------------------------------------------------

src/Principal/GestionArchivo.java

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,12 @@
11
package Principal;
22

3+
import java.io.BufferedReader;
34
import java.io.BufferedWriter;
5+
import java.io.FileReader;
46
import java.io.FileWriter;
57
import java.io.IOException;
8+
import java.util.ArrayList;
9+
import java.util.List;
610

711
public class GestionArchivo {
812

@@ -18,4 +22,24 @@ public void altaAlumno(String nombre, String apellido, int dni, String email, in
1822
}
1923
}
2024

25+
// Leer el archivo de texto y almacenar los datos en una estructura de datos
26+
27+
28+
public List<Alumno> leerArchivo(String nombre, String apellido,int dni,String email,int comision){
29+
ArrayList<String> lineas = new ArrayList<>();
30+
try {
31+
BufferedReader br = new BufferedReader(new FileReader("alumnos.txt"));
32+
String linea;
33+
34+
while ((linea = br.readLine()) != null) {
35+
lineas.add(linea + "\n");
36+
}
37+
38+
br.close();
39+
} catch (IOException e) {
40+
e.printStackTrace();
41+
return null;
42+
}
43+
return null;
44+
}
2145
}

src/Principal/Main.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,11 @@ public static void main(String[] args) {
5959
// Sub menu modificar alumno
6060
// para modificar los datos se recurre al método modificarAlumno de la clase
6161
// GestionAlumno.java
62+
63+
miGestion.modificarAlumno();
6264

65+
66+
/*
6367
System.out.println(listaDeAlumnos);
6468
6569
// Mostrar el contenido en una ventana emergente con indicaciones del
@@ -73,7 +77,7 @@ public static void main(String[] args) {
7377
7478
miGestion.eliminarAlumno();
7579
miGestion.addAlumno(nombre, apellido, email, dni, comision);
76-
80+
*/
7781
break;
7882
case 5:
7983
// Sub menu buscar alumno

0 commit comments

Comments
 (0)