Con Java, operar archivos de texto es muy sencillo, disponemos ya en el JDK las librerías necesarias para hacerlo. En este caso trabajaremos con un fichero llamado “dbxconnections.ini” que al fin y al cabo es un simple conjunto de texto plano, con la extension típica .txt cambiada. En muchas implementaciones este fichero se utiliza para almacenar parametros de conexiones a bases de datos, aunque no recomiendo normalmente ese uso. Aunque el ejemplo se base en eso no significa que no podamos hacer modificaciones menores para que almacene o lea otro tipo de contenido y formato.
También la clase incluirá un método para eliminar ficheros previamente almacenados, que obviamente puede ser aplicado a cualquier tipo y no solamente a ficheros de texto.
El contenido final del fichero mencionado sería el siguiente:
[DB]
Database = 127.0.0.1:DB
UserName = SYSDBA
Password = ÄËÕÌÔÌÒÓ¢y??
Contiene un encabezado de identificación, una dirección de servidor y nombre de BD, usuario y password que fue encriptado previamente con otra clase con S-DES, pero no es el objetivo de este post, en otra entrada comentaremos sobre esto.
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 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 | package comunes; import java.io.*; /** * * @author GeekZero */ public class Archivos { public void Guardar(String pUrl, String pUser, String pPass) throws Exception { // instancio objetos de escritura FileWriter fichero = null; PrintWriter pw = null; try { // asigno nombre de fichero, mantengo la nomenclatura fichero = new FileWriter("dbxconnections.ini"); // asigno PrintWriter a fichero pw = new PrintWriter(fichero); // escribo los parametros pw.println("[DB]"); pw.println("Database = " + pUrl); pw.println("UserName = " + pUser); pw.println("Password = " + pPass); // vuelco la memoria al disco duro pw.flush(); } catch (Exception e) { throw new Exception(e); } finally { // cierro los canales de escritura fichero.close(); pw.close(); }// end try }// end Guardar public String[] Leer() throws Exception { // Array a retornar String parametros[] = new String[4]; // instancio objetos de lectura File archivo = null; FileReader fr = null; BufferedReader br = null; try { // Apertura del fichero y creacion de BufferedReader para poder // hacer una lectura comoda (disponer del metodo readLine()). archivo = new File("dbxconnections.ini"); fr = new FileReader(archivo); br = new BufferedReader(fr); // Lectura del fichero String linea; // indice para el array int i = 0; while ((linea = br.readLine()) != null) { /* * si no es el encabezado corto el tag y solo cargo cargo el * valor despues del = sin los espacios */ if (i > 0) { linea = linea.substring(10).toString().trim(); } // end fi // System.out.println(linea); parametros[i] = linea; i++; }// end while } catch (FileNotFoundException e) { throw new Exception("No existe el fichero [dbxconnections.ini] \n" + e); } catch (Exception e) { throw new Exception(e); } finally { // En el finally cerramos el fichero, para asegurarnos // que se cierra tanto si todo va bien como si salta // una excepcion. try { if (null != fr) fr.close(); } catch (Exception e2) { throw new Exception(e2); }// end try }// end try return parametros; }// end Guardar public static void Eliminar(String pArchivo) throws Exception { try { File fichero = new File(pArchivo); if (!fichero.delete()) throw new Exception("El fichero " + pArchivo + " no puede ser borrado!"); } catch (Exception e) { throw new Exception(e); } // end try } // end Eliminar }// end class |
Articulos Relacionados:









en
en
en
en
Muy bueno el aporte.Gracias