Saltar navegación

Ficheros de texto en JAVA - Contenido educativo

Ajuste de pantalla

El ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:

Subido el 17 de abril de 2026 por Gerardo R.

2 visualizaciones

Ficheros de texto en JAVA

Descargar la transcripción

Empezamos este último vídeo de esta colección de vídeos dedicados a programación 00:00:07
y en este caso nos vamos a centrar en los ficheros en Java. 00:00:15
Antes de empezar el vídeo tutorial quiero recordaros que en el aula virtual, 00:00:22
en la sección de los alumnos que tenéis este módulo pendiente, 00:00:28
tenéis arriba del todo un manual de ayuda del lenguaje Java 00:00:33
aquí os he colgado un pantallazo de donde está ubicado 00:00:40
en esta sección y este es el manual que deberíais descargar 00:00:45
para hacer el seguimiento desde que hemos empezado los vídeos 00:00:49
pero por si acaso lo recuerdo por alguna duda que me ha comentado algún compañero vuestro 00:00:53
En concreto os aconsejo que os leáis con detenimiento este tema número 11 de ese libro o de este manual que es el justo que tenéis en pantalla y sobre todo os aconsejo que os miréis los tres primeros epígrafes o apartados que son los que están ahí seleccionados. 00:00:59
Una vez dicho esto pues vamos a empezar el tema de ficheros de texto 00:01:23
Los ficheros de texto en cualquier lenguaje de programación son ficheros que no tienen ningún tipo de formato 00:01:29
Es decir, es lo que en informática se llama ficheros de formato plano 00:01:39
Significa que no tienen ningún tipo de cabecera 00:01:44
Solamente van a tener o van a contener caracteres alfanuméricos 00:01:49
Sobre este tipo de ficheros de texto se pueden aplicar dos operaciones fundamentales 00:01:55
Por una parte se pueden aplicar operaciones de escritura de datos, es decir, podemos enviar datos al fichero 00:02:03
O bien podemos hacer la operación contraria, es decir, leer datos desde el fichero 00:02:09
Si nos centramos en la escritura de datos, pues vamos a ver algunos de los métodos más importantes que tiene Java para poder hacer uso de este tipo de herramienta. 00:02:16
Como veis aquí aparece una instrucción en la que se declara un objeto de escritura de tipo buffer 00:02:36
y a este tipo de escritura de tipo buffer le tenemos que poner un nombre de fichero 00:02:46
de modo que cuando nosotros hagamos referencia a este file writer, a este nombre de fichero 00:02:56
se va a crear un nombre para que podamos escribir a través de este objeto de aquí, wbw. 00:03:06
Hay una instrucción que es exactamente igual que esta, pero con una pequeña diferencia. 00:03:16
Si veis es la misma instrucción, sin embargo, esta al final lleva aquí un true. 00:03:21
¿Qué diferencia hay entre las dos instrucciones? 00:03:26
Bueno, pues en la primera instrucción lo que hace es que va a abrir el fichero para escribir en él. 00:03:29
Las dos abren para escribir en el fichero, la única diferencia es que la primera va a sobreescribir el fichero, es decir, si teníamos algo ya lo va a sobreescribir, lo va a machacar y la segunda lo que va a hacer es añadir al final del fichero. 00:03:35
En algunas ocasiones nos interesará abrir el fichero para sobreescribirlo y en otras nos interesará ir añadiendo al final del fichero. 00:03:50
Además de esto tenemos una instrucción que nos va a permitir escribir en el fichero 00:04:01
Porque recordemos que estas dos anteriores lo único que hacen es preparar un buffer sobre un fichero para que podamos escribir en él 00:04:09
Pero después hay que hacer uso de este buffer y mediante la instrucción write se le escribe una línea 00:04:19
Fijaos que aquí hemos puesto un prefijo str a la línea 00:04:25
Ya que hemos querido denominar que es un string 00:04:30
Lo que se le pasa a esta línea 00:04:34
Es decir, dentro de este string podéis guardar el dato o los datos que queráis 00:04:35
Si son varios se pueden concatenar en la misma línea y mandarlas al fichero 00:04:41
Una cosa importante dentro de esta escritura en la línea 00:04:46
es que deberíais poner un fin de línea 00:04:52
porque si no, todas las líneas las va a escribir una a continuación de la otra 00:04:56
os aconsejo que miréis el código que os voy a juntar 00:05:00
del ejemplo de esta parte del temario 00:05:06
porque en esa parte de la escritura aparece una variable que se llama el fin de línea 00:05:10
por favor mirad bien como se captura el fin de línea 00:05:18
porque esta se captura realmente del sistema 00:05:22
en el código creo que está declarada como str 00:05:26
fin de línea y lo que se hace es que se concatena 00:05:31
a esta línea como final para que cuando se escriba 00:05:35
en el fichero se escriba una línea 00:05:39
y una vez que termine esa línea en la siguiente escriba la siguiente 00:05:42
en la siguiente la siguiente y así sucesivamente, es decir 00:05:46
Las líneas se van a ir escribiendo con un retorno de carro 00:05:50
Por último es indispensable y obligatorio cerrar el fichero 00:05:54
Para cerrar el fichero hay que hacer uso del buffer y usar la instrucción close 00:06:03
Esta no lleva parámetros y es obligatorio porque si lo dejamos abierto 00:06:08
Podemos tener problemas si el fichero está siendo llamado de forma repetida en un bucle 00:06:12
ya que intentaremos a lo mejor abrirlo y ya estará abierto, con lo cual eso nos puede dar problemas. 00:06:18
Las operaciones de lectura se comportan de una forma análoga, tenemos aquí un lector del fichero, 00:06:27
en donde irá el nombre del fichero, que por cierto es importante recordar que dentro de este nombre del fichero 00:06:38
va a la ruta vale va a la ruta del directorio o directorios donde esté así que por favor cuando 00:06:44
se utilice esta instrucción recordad que si no ponéis ruta se va a crear el fichero desde donde 00:06:51
se esté ejecutando la aplicación el buffer reader en este caso es un buffer que va a permitir la 00:07:00
lectura de este tipo de contenidos en este caso de una línea por cada pasada 00:07:07
de bucle para entender un poco qué es esto de la pasada de bucle pues he 00:07:14
puesto aquí un ejemplo de una lectura si os fijáis 00:07:20
cada línea que se recupera del fichero cada línea que se recupera del fichero 00:07:25
se recupera con la instrucción red light es importante por eso que hayáis puesto 00:07:30
el fin de línea en la escritura 00:07:37
para que cuando leáis una línea solo os lea esa línea 00:07:40
también si os fijáis 00:07:44
este bucle se va a ejecutar 00:07:46
mientras que no sea null 00:07:49
¿qué significa esto? pues que se va a ejecutar hasta que el fichero 00:07:51
ya no tenga datos para poder leer 00:07:55
es decir, ya no tenga más líneas de código 00:07:57
hay que fijarse también en que esta 00:08:00
línea se lee antes del 00:08:04
while y dentro del while, antes del while se lee porque si el fichero 00:08:07
está vacío ya no entrará aquí dentro, ya que la línea será nula 00:08:10
y dentro del while hay que leerla para que se vayan 00:08:14
procesando todas las líneas una a una, aquí con la línea 00:08:19
haremos lo que necesitemos hacer, la podemos dividir, la podemos 00:08:22
mostrar al usuario, es decir aquí podemos hacer 00:08:26
las operaciones que necesitemos hacer con las líneas 00:08:30
que se van leyendo. Y por último se cierra el fichero tal y como se cerraba el otro, lo único es que aquí se hace referencia al buffer de lectura. 00:08:34
Vamos a hacer este ejemplo en Java que os lo voy a juntar dentro de la aula virtual para que lo tengáis por completo, es decir, un ejemplo completo 00:08:50
de cómo se utilizaría una aplicación de ficheros en java sencilla 00:09:02
sin muchas complicaciones 00:09:09
vamos a hacer las operaciones de insertar, eliminar, buscar, mostrar todo y salir 00:09:12
dentro de esta aplicación lo que vamos a hacer es guardar los datos de una persona 00:09:19
su DNI, nombre, apellidos, edad, dirección y teléfono 00:09:25
la operación de insertar lo que va a hacer es añadir registros al fichero de datos es decir 00:09:29
añadir no sobre escribir vale tener en cuenta eso eliminar lo que va a hacer es eliminar un registro 00:09:36
del fichero aquí para hacer la eliminación se utiliza una técnica especial de programación en 00:09:45
la que se lee todo el fichero excluyendo el que se quiere eliminar esos datos se van guardando 00:09:51
en un fichero auxiliar y por último se pasan otra vez al fichero original. De esta forma 00:09:59
van a estar todos los ficheros, todos los registros excepto el registro que queramos 00:10:05
eliminar. La instrucción de buscar lo que va a hacer es buscar un dato, si lo encuentra 00:10:10
lo muestra en la aplicación y si no pues mostrará un error. El caso de mostrar todo 00:10:18
lo que hace es mostrar todos los datos que contenga el fichero, la opción de salir que nos saca de la aplicación. 00:10:26
Como dato así importante deben aparecer los registros grabados para que el usuario sepa cuántos registros contiene el fichero 00:10:34
y por último un selector de opciones para que el usuario pueda elegir la opción del menú que sea necesaria. 00:10:42
El esquema general de la aplicación, vamos a tener un proyecto principal en Java, obviamente, vamos a tener una clase fichero que la vamos a utilizar para manejar las operaciones del fichero y vamos a utilizar una clase persona para manejar los datos que guardamos en el fichero. 00:10:49
vamos a ver cómo están realizadas estas clases 00:11:15
aunque como digo las tenéis en el fichero 00:11:23
en el proyecto que voy a juntar tenéis esto en detalle 00:11:26
y podéis verlo un poquito mejor 00:11:29
la clase persona va a tener los atributos de una persona 00:11:32
porque son los que vamos a guardar 00:11:35
y son los que tenéis en pantalla 00:11:38
tampoco cabe mucho comentario respecto a esto 00:11:39
y los métodos va a tener como veis dos constructores 00:11:43
uno es un constructor en el que hay que pasarle todos los datos de la persona 00:11:48
para que genere o para que cree el objeto 00:11:53
y el otro crea el objeto mediante un string 00:11:56
en este string ya veréis que se separan los parámetros 00:12:00
para que después estos parámetros podamos ir incluyéndolos en cada uno de estos parámetros 00:12:03
En definitiva los constructores sirven para cargar el objeto pero de forma diferente 00:12:10
Los métodos getter se aplican al DNI, al nombre de pedido, edad, dirección y teléfono 00:12:15
Y sirven como ya sabéis para obtener estos valores del objeto en tiempo de ejecución si es necesario 00:12:22
Y los métodos setter funcionan de forma análoga pero en lugar de obtener el dato lo que hacen es setear el dato 00:12:31
Si os fijáis todos los setter llevan un parámetro y sin embargo los getter no, porque los getter van a obtener un valor y estos los van a establecer. 00:12:40
Una cosa importante, un método importante es el método toString que se aplica a los objetos. 00:12:50
El método toString viene implícito en todos los objetos y hay que sobrescribirlo para que nosotros podamos realizar la siguiente operación. 00:12:57
El método toString lo que hace es que nos permite este objeto y sus valores pasarlos a una cadena. 00:13:10
Es decir, cuando nosotros creamos el objeto persona que tiene campos individuales, 00:13:18
al usar toString podemos reconvertirlo en una sola cadena. 00:13:24
Os aconsejo que miréis este método para que veáis cómo está implementado en la aplicación. 00:13:30
Es bastante sencillo y simplemente lo que hace es concatenar los valores de la persona 00:13:35
y devolverlos a la parte de la aplicación que la ha llamado. 00:13:41
El fichero, la clase fichero, pues solo tiene estos dos atributos, 00:13:49
el nombre de fichero y el número de registros que tiene el fichero. 00:13:54
Y, bueno, tiene un constructor con el nombre del fichero y el nombre de registros. 00:13:58
Tiene un método para contar los registros. 00:14:04
uno para mostrar los datos, muestra el listado de todos los datos del fichero 00:14:07
hay un método que nos permite contar cuántos registros tiene 00:14:12
para después pasárselo a la variable en un registro 00:14:17
nos permite eliminar un registro, para ello nos pedirá el nombre de un fichero auxiliar 00:14:21
que es lo que os decía antes y un DNI 00:14:27
os recuerdo que el nombre del fichero auxiliar lo vamos a usar para meter desde el fichero normal 00:14:30
todos los datos al fichero auxiliar 00:14:36
excepto el dato que queremos eliminar 00:14:38
y después sobreescribiremos el fichero original 00:14:41
de esta forma hacemos la eliminación del fichero 00:14:44
tenemos en la clase persona 00:14:47
el método buscar registro 00:14:51
para buscar un registro 00:14:53
y el de añadir un registro que sirve para escribir 00:14:55
dentro de la clase fichero 00:14:59
pues tenemos también estos métodos los los métodos mostrar error mostrar registro y limpiar pantalla 00:15:08
aquí tenemos en pantalla un esquema general de la aplicación si os fijáis el proyecto que lo he 00:15:27
llamado proyecto ficheros está constituido por el proyecto general la clase persona en la clase 00:15:36
fichero vale aquí lo que quería es que veréis la estructura de ficheros y sobre todo que veáis que 00:15:43
todos están construidos bajo el mismo paquete vale bajo el mismo paquete proyecto de ficheros 00:15:49
os lo digo porque si lo hacéis así vosotros también no tendréis que estar importando a 00:15:55
las clases ya que todas estas clases se van a ir se verán desde el proyecto principal y entre ellas 00:16:01
si las hacéis dentro del mismo paquete, ¿vale? 00:16:07
Este dato es importante porque así la construcción del proyecto 00:16:10
os va a resultar mucho más sencilla. 00:16:14
Por último, decir cómo está construido el proyecto principal. 00:16:21
El proyecto principal, que es del que no hemos hablado, 00:16:28
pues está creado mediante, bueno, aquí está puesto con un inicio y un fin. 00:16:31
Se crea un objeto fichero, que es lo importante, 00:16:38
por favor mirar cómo está creado este objeto y dentro de una estructura repetir hasta que no sea salir, pues se muestran estas opciones, insertar, eliminar, buscar y mostrar. 00:16:41
Cada una de estas funciones va a hacer una llamada a determinados métodos o procesos del propio programa principal. 00:16:53
Por ejemplo, estos tres, el de proceso, eliminar registros, buscar persona y mostrar datos, estos tres están implementados dentro del proyecto principal y esto es una llamada a un método del fichero. 00:17:03
Dentro de estos procesos a su vez podrían hacerse llamadas a métodos de las clases 00:17:19
Pero quiero que tengáis en cuenta que estos tres directamente se ejecutan desde el proyecto principal 00:17:26
Aunque estos tres pueden hacer llamadas a métodos de las clases 00:17:34
Y este directamente es una llamada a un método de una 00:17:38
Por último vamos a ver una ejecución rápida del proyecto 00:17:42
y vemos cómo funciona bueno aquí tenemos la ejecución del proyecto con las opciones de 00:17:48
insertar eliminar buscar mostrar y salir si mostramos bueno aquí nos dice que hay cinco 00:18:01
registros no sé si se verá bien en pantalla vamos a ver si es cierto vamos a elegir la opción 4 vale 00:18:07
Y aquí nos sale el listado de los cinco registros que tiene este fichero. 00:18:16
Por ejemplo, vamos a listar el registro 333, ¿vale? 00:18:24
Entonces, nos vamos a salir de aquí, le vamos a dar a la opción 3, que es buscar, 00:18:29
nos va a pedir un DNI, vamos a meterle el 333 y nos lista el registro 333. 00:18:34
Alguien podría pensar, ¿qué pasa si meto un registro que no existe? 00:18:42
Pues venga, vamos a verlo. Vamos a elegir la opción 3. Elegimos el registro 777, por ejemplo, que no existe y nos dice que no se encontró a la persona con DNI 777. 00:18:46
Podemos insertar algún registro más. Vamos a volver a mostrarlo todo y vamos a insertar, por ejemplo, a la persona 666 al final del registro. 00:19:01
Pues damos a la opción insertar, el DNI 666, nombre 666, apellido 666, edad 66, dirección 666 y teléfono 123456. 00:19:14
Vale, una cosa importante si os fijáis cuando estamos insertando registros es que no podemos dejar espacios en blanco 00:19:45
Bueno, en principio yo no puedo dejar espacios en blanco porque yo después el separador lo he puesto con un espacio en blanco 00:19:53
¿Esto qué significa? Pues que si por ejemplo los apellidos pusiera dos, él consideraría que hay dos datos en vez de en lugar de uno 00:19:59
¿Por qué? Pues porque como yo he puesto en la aplicación que el separador es un espacio en blanco 00:20:09
Me lo va a tomar como dos datos distintos 00:20:16
Por eso estoy metiendo los datos de esta forma 00:20:20
Tener esto en cuenta cuando vosotros tengáis que hacer el proyecto 00:20:22
Porque así podéis evitar errores 00:20:26
Si damos a Enter, pues me dice que si quiero meter otro registro 00:20:29
Yo le voy a decir que no 00:20:34
Y vamos a hacer mostrar todo otra vez 00:20:35
Para que veamos que, bueno, pues aquí al final veis que se ha insertado el registro 00:20:38
Por último vamos a comprobar la opción de eliminar 00:20:44
Vamos a intentar eliminar, pero vamos a intentar eliminar primero un registro que no exista 00:20:48
¿Vale? Por ejemplo el 777 00:20:53
Pues me dice que no se encontró la persona con el DNI 777 00:20:55
Vamos a eliminar al registro 333 00:21:00
aquí elegir primero la opción de eliminar el registro 333 y dice que se eliminó el registro 333 00:21:04
vamos a mostrar todo a ver si es cierto y efectivamente el registro 333 ya no aparece en pantalla 00:21:18
bueno pues hasta aquí este vídeo es el último de la colección de vídeos 00:21:27
y lo siguiente es que vosotros tenéis que hacer un proyecto con las especificaciones que se os indique. 00:21:33
Idioma/s:
es
Materias:
Sistemas Microinformáticos y Redes
Niveles educativos:
▼ Mostrar / ocultar niveles
  • Formación Profesional
    • Ciclo formativo de grado básico
      • Primer Curso
      • Segundo Curso
    • Ciclo formativo de grado medio
      • Primer Curso
      • Segundo Curso
    • Ciclo formativo de grado superior
      • Primer Curso
      • Segundo Curso
Autor/es:
Gerardo Ruiz Criado
Subido por:
Gerardo R.
Licencia:
Reconocimiento - No comercial
Visualizaciones:
2
Fecha:
17 de abril de 2026 - 12:44
Visibilidad:
Clave
Centro:
IES LA ARBOLEDA
Duración:
21′ 44″
Relación de aspecto:
1.78:1
Resolución:
1920x1080 píxeles
Tamaño:
417.02 MBytes

Del mismo autor…

Ver más del mismo autor


EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid