Este proyecto es una aplicación web robusta desarrollada con Spring Boot para la gestión avanzada de archivos y sistemas de persistencia no relacionales (RAF y XML) en Java.
- Descripción General
- Características Principales
- Tecnologías Utilizadas
- Estructura del Proyecto
- Instalación y Ejecución
Proyecto Ficheros es una herramienta educativa y funcional diseñada para explorar, editar y gestionar archivos en el sistema local a través de una interfaz web moderna. Su núcleo se centra en la simulación de operaciones SQL sobre archivos de Acceso Aleatorio (RAF) y archivos XML, permitiendo tratar datos estructurados sin necesidad de una base de datos tradicional.
Project Files is an educational and functional tool designed to explore, edit, and manage local system files through a modern web interface. Its core focuses on simulating SQL operations over Random Access Files (RAF) and XML files, allowing structured data handling without the need for a traditional database.
- Explorador de Archivos: Navegación completa por el sistema de archivos local, creación y eliminación de ficheros y directorios.
- Editor de Texto: Edición directa de archivos de texto plano desde el navegador.
- Emulador SQL sobre RAF: Permite realizar
SELECT,UPDATEyDELETEsobre archivos binarios con estructura de registro fija (ID, Nombre, Edad). - Gestión XML Avanzada:
- Serialización y deserialización con JAXB.
- Manipulación de nodos con DOM.
- Emulación de operaciones SQL sobre archivos XML.
- Conversor de Codificación: Herramienta para transformar archivos entre diferentes encodings (UTF-8, ASCII, UTF-16, ISO-8859-1).
- Soporte de Esquemas Flexibles: Versiones adaptativas que permiten trabajar con estructuras de datos dinámicas en RAF y XML.
- Exportación/Importación: Funcionalidad para exportar el listado de archivos o registros RAF a formato XML.
- File Explorer: Full navigation through the local file system, including creation and deletion of files and directories.
- Text Editor: Direct editing of plain text files from the browser.
- SQL Emulator over RAF: Perform
SELECT,UPDATE, andDELETEoperations on binary files with a fixed record structure (ID, Name, Age). - Advanced XML Management:
- Serialization and deserialization using JAXB.
- Node manipulation with DOM.
- SQL operation emulation over XML files.
- Encoding Converter: Tool to transform files between different encodings (UTF-8, ASCII, UTF-16, ISO-8859-1).
- Flexible Schema Support: Adaptive versions that allow working with dynamic data structures in both RAF and XML.
- Export/Import: Functionality to export file listings or RAF records to XML format.
- Lenguaje: Java 17+
- Framework: Spring Boot 3 (Spring MVC)
- Motor de Plantillas: Thymeleaf
- Persistencia: Java File I/O, RandomAccessFile, JAXB, DOM (XML)
- Gestión de Dependencias: Maven
- Language: Java 17+
- Framework: Spring Boot 3 (Spring MVC)
- Template Engine: Thymeleaf
- Persistence: Java File I/O, RandomAccessFile, JAXB, DOM (XML)
- Dependency Management: Maven
src/main/java/com/example/fileinfo/
├── Aplicacion.java # Punto de entrada de Spring Boot
├── controller/
│ └── FileController.java # Lógica de endpoints y control de flujo
├── model/
│ ├── FileInfo.java # POJO para metadatos de archivos
│ ├── Schema.java # Definición de estructuras dinámicas
│ └── ...
└── util/
├── RAFSqlEmulator.java # Lógica SQL para archivos binarios
├── XMLUtil.java # Utilidades de JAXB y DOM
├── ...Flexible.java # Versiones para esquemas dinámicos
src/main/java/com/example/fileinfo/
├── Aplicacion.java # Spring Boot entry point
├── controller/
│ └── FileController.java # Endpoint logic and flow control
├── model/
│ ├── FileInfo.java # POJO for file metadata
│ ├── Schema.java # Definition for dynamic structures
│ └── ...
└── util/
├── RAFSqlEmulator.java # SQL logic for binary files
├── XMLUtil.java # JAXB and DOM utilities
├── ...Flexible.java # Versions for dynamic schemas
- Requisitos: JDK 17 o superior y Maven instalado.
- Clonar/Descargar: Descarga el código fuente.
- Compilar:
mvn clean install - Ejecutar:
mvn spring-boot:run - Acceso: Abre un navegador y ve a
http://localhost:8080
- Requirements: JDK 17 or higher and Maven installed.
- Clone/Download: Download the source code.
- Compile:
mvn clean install - Run:
mvn spring-boot:run - Access: Open a browser and navigate to
http://localhost:8080
Note
Este proyecto fue desarrollado como parte de un estudio profundo sobre el manejo de flujos de datos (Streams) y persistencia aleatoria en Java.