ACCESO A DATOS

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

¿Qué sucede si la ruta absoluta utilizada para crear un directorio con el método mkdir() no es válida?

  • El programa se ejecutará correctamente, pero el directorio se creará en una ubicación diferente.
  • El programa generará un error y no se ejecutará correctamente. (correct)
  • El programa se ejecutará correctamente, pero el directorio no se creará.
  • El programa creará un directorio vacío en la ubicación especificada.

¿Qué tipo de valor devuelve el método mkdir() si la creación del directorio fue exitosa?

  • Un valor booleano `true`. (correct)
  • Una cadena de texto con el nombre del directorio.
  • Un valor booleano `false`.
  • Un objeto File.

¿Cuál es la diferencia entre el método mkdir() del objeto File y el método createDirectories() del objeto Files?

  • El método `createDirectories()` solo crea un solo directorio, mientras que `mkdir()` puede crear directorios recursivamente.
  • El método `mkdir()` es más eficiente que `createDirectories()`.
  • Ambos métodos son equivalentes en funcionalidad.
  • El método `mkdir()` solo crea un solo directorio, mientras que `createDirectories()` puede crear directorios recursivamente. (correct)

¿Cuál de las siguientes opciones es un ejemplo de uso del método createDirectories()?

<pre><code class="language-java">Path ruta = Paths.get(&quot;src/main/resources/crearFicheros carpetaEjemplo&quot;); Files.createDirectories(ruta); ``` (A) </code></pre> Signup and view all the answers

¿Para qué se utiliza un protocolo SFTP?

<p>Para la transferencia de archivos entre ordenadores de cualquier sistema operativo. (A)</p> Signup and view all the answers

¿En qué contexto sería útil la creación de directorios por día?

<p>Para almacenar archivos de registro de un servidor web. (A)</p> Signup and view all the answers

¿Qué significan las siglas SFTP?

<p>Secure File Transfer Protocol (D)</p> Signup and view all the answers

¿Qué tipo de arquitectura utiliza un protocolo SFTP?

<p>Cliente-servidor (C)</p> Signup and view all the answers

¿Qué sucede si se intenta copiar un directorio utilizando el método Files.copy()?

<p>Se copia la carpeta como un archivo, sin contenido. (C)</p> Signup and view all the answers

¿Cuál es el propósito de la opción StandardCopyOption.REPLACE_EXISTING en el método Files.copy()?

<p>Reemplazar el archivo de destino con el contenido del archivo de origen si ya existe. (C)</p> Signup and view all the answers

¿Qué clase se utiliza para crear un nuevo archivo en el código proporcionado?

<p>File (D)</p> Signup and view all the answers

¿Qué método se emplea para leer el contenido de un archivo en el código proporcionado?

<p>FileInputStream (C)</p> Signup and view all the answers

¿Qué es un búfer en el código proporcionado?

<p>Un espacio en memoria que se utiliza para almacenar datos temporalmente. (B)</p> Signup and view all the answers

¿Cuál es el uso de destino.flush() dentro del bucle while?

<p>Asegurar que los datos que se han escrito en el archivo de destino se guarden en el disco. (C)</p> Signup and view all the answers

Si el puntero del archivo está en la posición 10 y se leen 5 bytes de datos, ¿dónde estará el puntero después de la lectura?

<p>15 (C)</p> Signup and view all the answers

¿Qué método permite configurar el puntero del archivo a una ubicación aleatoria?

<p>seek() (A)</p> Signup and view all the answers

¿Qué tipo de objeto se necesita para crear una instancia de RandomAccessFile?

<p>File (C)</p> Signup and view all the answers

¿Qué método permite obtener la ubicación actual del puntero del archivo?

<p>getFilePointer() (C)</p> Signup and view all the answers

¿Qué ocurre si se intenta escribir datos en un archivo de acceso aleatorio en una posición que ya contiene datos?

<p>Se sobrescribe la información existente. (D)</p> Signup and view all the answers

¿Qué sucede si se intenta crear un archivo con el método 'createNewFile()' y el archivo ya existe?

<p>No sucede nada. (A)</p> Signup and view all the answers

¿Cuál es el propósito principal del bloque try-catch en el código?

<p>Capturar cualquier excepción que pueda ocurrir durante la lectura del archivo. (D)</p> Signup and view all the answers

Si se encuentra un error al intentar leer un fichero binario, ¿qué se utiliza en el código para manejar este error?

<p>Un bloque <code>try-catch</code> (C)</p> Signup and view all the answers

En el contexto del código presentado, ¿qué tipo de fichero se considera un fichero binario?

<p>Un archivo de imagen (JPEG, PNG) (B)</p> Signup and view all the answers

¿Qué clase se utiliza para crear un objeto que represente el archivo a leer?

<p>FileInputStream (B)</p> Signup and view all the answers

¿Qué método se utiliza para leer un byte del buffer?

<p>read() (B)</p> Signup and view all the answers

¿Qué clase se utiliza para leer un fichero binario byte a byte?

<p>InputStream (A)</p> Signup and view all the answers

¿Qué sucede cuando el método read() del objeto BufferedInputStream devuelve -1?

<p>Se ha llegado al final del archivo. (D)</p> Signup and view all the answers

¿Qué es una superclase en el contexto del código proporcionado?

<p>Una clase que deriva de otras clases (D)</p> Signup and view all the answers

¿Qué objeto se utiliza para convertir un byte a un carácter?

<p>Character (C)</p> Signup and view all the answers

¿Cuál es la característica principal de un fichero binario en comparación con un fichero de texto?

<p>Contiene datos en formato binario (D)</p> Signup and view all the answers

¿Para qué se utiliza la clase InputStream en el contexto de la lectura de ficheros?

<p>Para leer datos de un fichero byte a byte (A)</p> Signup and view all the answers

¿Con qué propósito se utiliza el objeto BufferedInputStream?

<p>Mejorar la velocidad de lectura del archivo. (D)</p> Signup and view all the answers

¿Cuál es la función del método close()?

<p>Liberar los recursos del archivo. (C)</p> Signup and view all the answers

¿Qué diferencia principal se encuentra entre la clase InputStream y una subclase de la misma?

<p>La subclase hereda todas las propiedades y métodos de la clase padre (D)</p> Signup and view all the answers

¿Qué tipo de error se podría producir al intentar abrir un archivo?

<p>Error de tiempo de ejecución. (D)</p> Signup and view all the answers

¿Qué significa que una clase es abstracta en el contexto del código?

<p>No se pueden instancia directamente objetos de esa clase (B)</p> Signup and view all the answers

¿Qué método se utiliza para crear un fichero en la librería java.nio.file?

<p>createFile() (D)</p> Signup and view all the answers

¿Qué tipo de objeto se utiliza para representar una ruta de archivo en la librería java.nio.file?

<p>Path (C)</p> Signup and view all the answers

¿Cuál es la diferencia entre Files.createFile(ruta) y Files.createDirectory(ruta)?

<p><code>createFile</code> crea un archivo, <code>createDirectory</code> crea un directorio. (A)</p> Signup and view all the answers

¿Qué método se utiliza para recorrer un árbol de directorios recursivamente?

<p>walkFileTree (B)</p> Signup and view all the answers

¿Cuál de los siguientes métodos se utiliza para obtener el tamaño de un archivo?

<p>size() (D)</p> Signup and view all the answers

Si se intenta crear un archivo usando Files.createFile(ruta) y el archivo ya existe, ¿qué ocurre?

<p>El método lanza una excepción. (A)</p> Signup and view all the answers

¿Qué debe ser correcto para evitar errores al crear un archivo?

<p>La ruta absoluta. (D)</p> Signup and view all the answers

¿Qué se utiliza para representar una ruta de archivo en el código proporcionado?

<p>Un objeto Path. (D)</p> Signup and view all the answers

¿Qué método se usa para moverse por las filas obtenidas por una consulta?

<p>next() (B)</p> Signup and view all the answers

¿Que clase usaríamos para leer un archivo de texto de modo secuencial?

<p>FileReader (A)</p> Signup and view all the answers

¿Cuales son los tipos de SGBD básicos?

<p>Integrados en la propia aplicación e independientes que se ejecutan de forma separada (C)</p> Signup and view all the answers

¿De forma general se puede decir que Oracle tiene características orientadas a objetos?

<p>Si, es un SGBDOR (B)</p> Signup and view all the answers

Un ejemplo de SGBD XML-enabled es:

<p>Oracle (A)</p> Signup and view all the answers

List es un tipo de datos:

<p>De tipo colección (B)</p> Signup and view all the answers

¿Cuál es una limitación del sistema de gestión PostgreSQL?

<p>Consume más recursos que otros SGBD (A)</p> Signup and view all the answers

¿Cómo se denominan las pruebas que permiten determinar que un componente funciona correctamente?

<p>Pruebas de unidad (C)</p> Signup and view all the answers

La agrupación de documentos dentro de una base de datos nativa XML se denomina:

<p>Colecciones (B)</p> Signup and view all the answers

Cuando operamos con rutas de ficheros, el carácter separador entre directorios o carpetas…:

<p>Depende del sistema operativo donde se ejecuta la aplicación (C)</p> Signup and view all the answers

¿Para que se usa un ORM?

<p>Ayudar a la conversión de objetos en registros de bases de datos (A)</p> Signup and view all the answers

El API JDBC nos permite:

<p>Comunicarnos de una forma transparente con la base de datos (B)</p> Signup and view all the answers

Un float es un tipo de datos:

<p>Atómico (A)</p> Signup and view all the answers

En la PoC, ¿Que hace un componente fuente?:

<p>Origina o lanza los eventos. Los eventos que puede lanzar se encuentran definidos en su API (A)</p> Signup and view all the answers

¿Cual es una estrategia de almacenamiento en un sistema de base de datos XML nativo?:

<p>En una base de datos XML (C)</p> Signup and view all the answers

Un ejemplo de SGBD XML-enabled es:

<p>DB2 (C)</p> Signup and view all the answers

La ejecución de sentencias XQuery mediante XQJ se realiza con el objeto:

<p>XQExpression (A)</p> Signup and view all the answers

¿Cuando debemos incluir implements Serializable en una clase?:

<p>Cuando queremos que se pueda almacenar tanto en un fichero como en una base de datos (C)</p> Signup and view all the answers

Las herramientas ORM se usan para …:

<p>Ayudar a la conversión de objetos en registros de bases de datos (A)</p> Signup and view all the answers

Una de las características de las herramientas ORM es:

<p>Ofrecer técnicas de sincronización (A)</p> Signup and view all the answers

¿Cuál es el método de la sesión abierta que realiza las transacciones planificadas contra la base de datos a través de Hibernate?

<p>beginTransaction() (A)</p> Signup and view all the answers

¿Cual es un tipo de componente en la PoC?:

<p>Listener (B)</p> Signup and view all the answers

Una base de datos XML nativa tiene como característica …:

<p>La unidad mínima de almacenamiento es el documento y estos se almacenan en colecciones (A)</p> Signup and view all the answers

¿Con qué clausula de Xquery podemos recorrer una secuencia de elementos?:

<p>For (C)</p> Signup and view all the answers

Una base de datos XML nativa tiene como característica …:

<p>Soportan lenguajes de consulta XML (B)</p> Signup and view all the answers

¿Que es más rápido al ejecutar, usar Hibernate o usar JDBC?

<p>Hibernate (A)</p> Signup and view all the answers

En un SGBDOR, un Interval es un tipo de dato …:

<p>Tipos estructurados (B)</p> Signup and view all the answers

El lenguaje de consulta de objetos es:

<p>Un lenguaje declarativo (A)</p> Signup and view all the answers

Una base de datos XML nativa tiene como característica …:

<p>Permiten definir el modelo lógico de un documento XML y almacenar y recuperar documentos según ese modelo (A)</p> Signup and view all the answers

¿es posible realizar inserciones de datos o registros en medio de un fichero cuando se accede secuencialmente?:

<p>No, hay que leerlo desde el principio (A)</p> Signup and view all the answers

¿Qué método ejecuta todas las instrucciones desde el ultimo commit?

<p>commit (A)</p> Signup and view all the answers

El proceso de trabajo es un proceso que:

<p>Podemos extrapolar a otros proyectos (B)</p> Signup and view all the answers

¿Que clase no usarías para leer cadenas completas de un archivo de texto? :

<p>StringReader (B)</p> Signup and view all the answers

En Hibernate, ¿Con qué método podemos eliminar un objeto de una base de datos?:

<p>.delete() (A)</p> Signup and view all the answers

BaseX permite el uso de XQuery:

<p>Cierto, tanto en su versión 3.0 (C)</p> Signup and view all the answers

Un SGBD tradicional tiene como principal característica…:

<p>Eficiencia (A)</p> Signup and view all the answers

Una base de datos orientada al objeto cumple con el estándar:

<p>ODMG (A)</p> Signup and view all the answers

¿Cual es una característica de las herramientas ORM?:

<p>Técnicas de Mapeo (C)</p> Signup and view all the answers

¿Con qué método de Statement podemos realizar una inserción en JDBC?:

<p>executeUpdate() (A)</p> Signup and view all the answers

Un bloque try:

<p>Debe llevar al menos un bloque catch después (C)</p> Signup and view all the answers

¿Que son las bases de datos objeto relacionales?:

<p>bases de datos que han evolucionado desde el modelo relacional incorporando conceptos del paradigma orientado a objetos (C)</p> Signup and view all the answers

¿Cual es una anotación de Hibernate?:

<p>@Id (B)</p> Signup and view all the answers

En una transacción en JDBC, si hay algún fallo durante las instrucciones …:

<p>todas son descartadas (B)</p> Signup and view all the answers

En la Poc, ¿A que nos referimos con persistencia?:

<p>Al mecanismo que permite guardar y restaurar el estado de los componentes junto con los valores personalizados (C)</p> Signup and view all the answers

En Hibernate, ¿Con qué método podemos recuperar un objeto de una base de datos?:

<p>.get() (C)</p> Signup and view all the answers

Los lenguajes propios de diseño y especificación en bases de datos orientadas al objeto son:

<p>ODL (A)</p> Signup and view all the answers

En esta url JDBC: jdbc:mysql://localhost/feedback ¿Que es localhost?:

<p>la ubicación de la máquina donde se encuentra el SGBD (A)</p> Signup and view all the answers

En un componente, una propiedad puede ser de tipo …:

<p>Ligada (A)</p> Signup and view all the answers

¿Que tipo de flujo de datos estamos utilizando es este código? While ((b = in.read()) != -1):

<p>Binario (A)</p> Signup and view all the answers

java.io.RandomAccessFile sirve para…:

<p>acceder a archivos de forma aleatoria (B)</p> Signup and view all the answers

Cuando operamos con rutas de ficheros, el carácter separador entre directorios o carpetas…:

<p>Depende de que sistema operativo se usa para la ejecución (A)</p> Signup and view all the answers

¿Que tipo de dato devuelve una llamada a executeQuery() en JDBC?:

<p>ResultSet (B)</p> Signup and view all the answers

¿Cual es un inconveniente a la hora de desarrollar componentes usando POO?:

<p>No incorpora aspectos tales como distribución y empaquetado de Componentes (B)</p> Signup and view all the answers

¿Qué método permite obtener el número de columnas de un bloque de resultados?

<p>getColumnCount() (A)</p> Signup and view all the answers

¿Qué tipo de acceso estamos realizando en este código? while ((b = in.read()) != -1):

<p>Secuencial (B)</p> Signup and view all the answers

¿Cómo se registra un driver JDBC?

<p>Mediante Class.forName (A)</p> Signup and view all the answers

¿Con que anotación podemos definir una relación de 1 a muchos con Hibernate?:

<p>@OneManyRelation (A)</p> Signup and view all the answers

El ODMG define:

<p>Lenguaje de consultas OQL (A)</p> Signup and view all the answers

Durante el uso de un flujo de datos necesitamos cerrar el flujo al final de su uso:

<p>Correcto (A)</p> Signup and view all the answers

¿Cual no es un tipo básico de flujo de entrada y salida en Java?:

<p>Virtual (A)</p> Signup and view all the answers

¿Con qué método de Statement podemos ejecutar una consulta que cree una nueva tabla en JDBC?:

<p>execute() (C)</p> Signup and view all the answers

¿Donde indicamos las clases que queremos persistir usando Hibernate?:

<p>En el archivo hibernate.cfg.xml (C)</p> Signup and view all the answers

Selecciona la afirmación correcta:

<p>Las clases InputStream y OutputStream son las clases padre del resto de clases de flujos de bytes (A)</p> Signup and view all the answers

¿Cuál es la codificación usada para leer flujos de caracteres?

<p>Unicode (A)</p> Signup and view all the answers

¿Que significa ODMG?:

<p>Object Data Management Group (A)</p> Signup and view all the answers

Concretamente con MySQL y JDBC ¿podemos usar transacciones?:

<p>Si, es recomendable (A)</p> Signup and view all the answers

Accept es un parámetro de la calse File para aceptar o no ficheros con extensión .pdf y procesarlos.:

<p>No es cierto (B)</p> Signup and view all the answers

¿Con que clase podemos abrir procesar un archivo XML ya creado?:

<p>muchos (B)</p> Signup and view all the answers

¿Qué es una transacción en una base de datos?:

<p>Son varias instrucciones que se ejecutan de forma secuencial, pero que si hay algún fallo, todas deberán ser descartadas (B)</p> Signup and view all the answers

Date es un tipo de datos:

<p>De tipo estructurado (C)</p> Signup and view all the answers

¿Qué no es un fichero?:

<p>Unidad física de acceso aleatorio (B)</p> Signup and view all the answers

¿Se pueden manejar datos XML con un SGBDR?:

<p>Si, pero no es lo óptimo porque sobrecarga mucho de trabajo al gestor (A)</p> Signup and view all the answers

Las siglas SGBDOR se refieren a:

<p>Sistemas de gestión de bases de datos orientadas al objeto (C)</p> Signup and view all the answers

¿Con la clase File podemos filtrar por el nombre de los ficheros para obtener un listado con los que tengan un nombre que empiece por determinadas letras?:

<p>Cierto, con el método File.list() (B)</p> Signup and view all the answers

Flashcards

Método mkdir()

Método del objeto File que crea un directorio.

Valor de retorno de mkdir()

Devuelve un booleano true si el directorio se crea con éxito.

Control de errores

Debemos verificar si la ruta es correcta antes de crear un directorio.

Objeto java.nio.file.Files

Proporciona métodos para trabajar con archivos y directorios en Java.

Signup and view all the flashcards

Método createDirectories()

Permite crear uno o más directorios en una ruta específica.

Signup and view all the flashcards

SFTP

Protocolo de transferencia de archivos estandarizado entre sistemas operativos.

Signup and view all the flashcards

Uso de SFTP

Utilizado para almacenar archivos en un servidor mediante transferencias.

Signup and view all the flashcards

Organización de carpetas

Crear carpetas para mantener la estructura y organización de archivos.

Signup and view all the flashcards

Método size(Path ruta)

Devuelve el tamaño de un fichero indicado por la ruta.

Signup and view all the flashcards

Método walkFileTree(Path ruta)

Recorre recursivamente un árbol de directorios en la ruta.

Signup and view all the flashcards

Objeto Path

Representa la ruta de un fichero en el sistema de archivos.

Signup and view all the flashcards

Método createFile()

Crea un fichero en la ubicación especificada por Path.

Signup and view all the flashcards

Error al crear ficheros existentes

Lanza un error si el fichero ya existe en la ruta indicada.

Signup and view all the flashcards

Ruta absoluta

Ruta completa que conduce a un fichero o directorio.

Signup and view all the flashcards

Creación de directorios

Utiliza la clase File para crear nuevos directorios.

Signup and view all the flashcards

Librería java.nio.File

Proporciona métodos útiles para manipular ficheros y directorios.

Signup and view all the flashcards

Método de copia de archivos

Proceso usado para copiar archivos de una ubicación a otra en Java.

Signup and view all the flashcards

Path en Java

Clase que representa la ruta de un archivo o directorio en el sistema de archivos.

Signup and view all the flashcards

Files.copy()

Método que permite copiar archivos entre rutas utilizando la clase Files.

Signup and view all the flashcards

BufferedInputStream

Clase que permite leer datos de un archivo de manera eficiente mediante un buffer.

Signup and view all the flashcards

BufferedOutputStream

Clase que permite escribir datos a un archivo de manera eficiente mediante un buffer.

Signup and view all the flashcards

StandardCopyOption.REPLACE_EXISTING

Opción que reemplaza un archivo existente al copiar.

Signup and view all the flashcards

Crear archivos en Java

Procedimiento para crear nuevas instancias de archivos en una ubicación especificada.

Signup and view all the flashcards

InputStream y OutputStream

Clases que permiten leer o escribir datos de y hacia archivos en Java.

Signup and view all the flashcards

Ficheros binarios

Archivos que contienen datos en formato de bytes, como imágenes o caracteres especiales.

Signup and view all the flashcards

InputStream

Superclase abstracta que se utiliza para leer flujos de bytes, un byte a la vez.

Signup and view all the flashcards

Superclase

Clase padre de la que derivan varias subclases, heredando sus propiedades.

Signup and view all the flashcards

Clase abstracta

Clase que permite declarar métodos sin implementar, dejándolos a subclases.

Signup and view all the flashcards

Paquete java.io

Conjunto de clases en Java que se utilizan para la entrada y salida de archivos.

Signup and view all the flashcards

Subclases de InputStream

Clases derivadas que implementan lecturas específicas de flujos de bytes.

Signup and view all the flashcards

Lectura de ficheros

Acción de acceder y obtener datos de archivos, se debe controlar errores.

Signup and view all the flashcards

FileInputStream

Clase para leer bytes de un archivo en Java.

Signup and view all the flashcards

Método read()

Método que lee un byte del BufferedInputStream.

Signup and view all the flashcards

Condición de lectura

La lectura continua hasta que el byte leído sea -1.

Signup and view all the flashcards

Cierre del búfer

Es importante cerrar el BufferedInputStream después de usarlo.

Signup and view all the flashcards

Try-catch

Bloque que maneja excepciones para evitar errores en tiempo de ejecución.

Signup and view all the flashcards

Error al leer el archivo

Se produce si el archivo no se encuentra o no se puede leer.

Signup and view all the flashcards

Objeto RandomAccessFile

Permite acceso aleatorio a datos en un fichero en Java.

Signup and view all the flashcards

Método seek()

Configura el puntero del archivo a una ubicación específica.

Signup and view all the flashcards

Método getFilePointer()

Obtiene la posición actual del puntero en el archivo.

Signup and view all the flashcards

Creación de un fichero

Usa el objeto File para crear un nuevo fichero antes de usar RandomAccessFile.

Signup and view all the flashcards

Escritura con RandomAccessFile

Escribe datos en la ubicación actual del puntero y mueve el puntero.

Signup and view all the flashcards

Lectura con RandomAccessFile

Lee datos desde la ubicación actual del puntero.

Signup and view all the flashcards

Manejo de IOException

Captura y maneja errores al leer o escribir archivos.

Signup and view all the flashcards

Comando close()

Cierra el RandomAccessFile después de usarlo para liberar recursos.

Signup and view all the flashcards

Study Notes

Notas de estudio de ficheros en Java

  • Un fichero es un archivo que contiene un conjunto de caracteres o bytes almacenados en una ruta y con un nombre concreto. Se utiliza para guardar, leer, escribir o gestionar información del proceso en ejecución.
  • Existen diferentes tipos de ficheros:
    • Ficheros estándar: Pueden contener todo tipo de datos (caracteres, imágenes, audio, vídeo, etc.).
    • Directorios (carpetas): Contienen otros archivos y mantienen un orden jerárquico en el sistema.
    • Ficheros especiales: Son usados por el sistema operativo para controlar dispositivos y periféricos.
  • Los ficheros de datos se clasifican en:
    • Ficheros de bytes (binarios): Usados por programas para leer o escribir información.
    • Ficheros de caracteres (texto): Permiten leer o escribir información de texto.
  • Un fichero se identifica por su ruta, nombre y extensión (si la tiene). No pueden existir dos ficheros con la misma ruta, nombre y extensión.
  • Una ruta indica la ubicación de un fichero en el sistema. Las rutas absolutas empiezan desde la carpeta raíz del sistema, mientras que las rutas relativas se basan en el directorio actual.
  • Los sistemas operativos utilizan diferentes caracteres para delimitar los niveles jerárquicos en las rutas (por ejemplo, / en Unix y \ en Windows).
  • La codificación (encoding) determina cómo se representan los caracteres en un ordenador. ASCII y ISO-8859 son ejemplos de codificaciones comunes. UTF-8 es una codificación moderna que permite representar una amplia gama de caracteres.
  • Un búfer es un bloque de memoria temporal para almacenar y procesar datos. Se utiliza en la gestión de ficheros para mejorar la eficiencia.

Rutas de acceso a ficheros

  • Ruta absoluta: Define la ubicación completa del fichero desde la raíz del sistema de archivos.
  • Ruta relativa: Define la ubicación del fichero en relación al directorio actual.

Clases para la gestión de ficheros en Java

  • java.io.File: Permite manipular ficheros y directorios (crearlos, borrarlos, copiarlos y moverlos). Sus constructores y métodos permiten operar con rutas, nombres, verificando existencia, tipo y otros detalles.
  • java.nio.file: Proporciona una API más moderna y eficiente para la gestión de ficheros y directorios. Ofrece métodos para crear, copiar, mover, eliminar ficheros y directorios de manera eficiente y segura.

Lectura de ficheros

  • FileReader: Lee archivos de texto usando la codificación por defecto del sistema operativo.
  • BufferedReader: Lee archivos de texto línea por línea, mejorando la eficiencia al usar un búfer para leer grupos de caracteres.
  • Scanner: Proporciona una forma flexible de analizar la información de texto, separándola en tokens.

Escritura de ficheros

  • FileWriter: Escribe texto en un archivo.
  • BufferedWriter: escribe texto en un archivo, gestionando el flujo de los datos en un búfer para mejorar el rendimiento.
  • OutputStream: La superclase abstracta para escribir streams de bytes.
  • FileOutputStream: Es una subclase de OutputStream que permite escribir bytes directamente en un archivo.

Operaciones con ficheros

  • Copiar: Crea una copia de un fichero.
  • Borrar: Elimina un fichero. A menudo se recomienda el uso de deleteOnExit() para que se elimine al finalizar la ejecución del programa.
  • Mover: Reemplaza un archivo en una ubicación con un nuevo nombre.

Manejo de excepciones

  • Excepciones controladas: Se definen en la declaración del método, requiriendo que quien llama al método maneje la excepción.
  • Excepciones no controladas: Se producen en la lógica del programa y, generalmente no requieren manejo explícito dentro de un try-catch. Pero es recomendable tratarlas de todas maneras.

Trabajo con XML

  • XML (Extensible Markup Language): Lenguaje de marcado para definir formatos de documentos. Se compone de etiquetas que contienen los datos y metadata.
  • DOM: (Document Object Model). Es un analizador sintáctico que carga el XML completo en memoria y permite navegar por la estructura.
  • SAX: (Simple API for XML). Es un analizador basado en eventos que lee el XML línea por línea, siendo más eficiente en términos de uso de memoria.
  • JAXB: (Java Architecture for XML Binding). Permite convertir un documento XML en objetos Java y viceversa, mejorando la gestión de los datos.

Trabajo con JSON

  • JSON (JavaScript Object Notation): Formato ligero para intercambio de datos estructurados de texto.
  • Se utiliza ampliamente en el intercambio de datos entre aplicaciones o entre clientes y servidores.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

TEMA 1 - ACCESO A DATOS PDF

More Like This

Java File Handling and Environment Variables Quiz
12 questions
Java File Handling and Exception Handling
24 questions
Java File and Stream Handling
8 questions
Java File Handling and Exceptions Quiz
41 questions
Use Quizgecko on...
Browser
Browser