style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">

Simulacion de Bases De Datos

Que tal comunidad:

Quiero hacerles una pregunta porque tal vez se toparon con el mismo proyecto que yo estoy realizando, tengo entendido que hace varios años la información o registros de una empresa se guardaban en archivos planos de texto, de hecho tengo compañeros en mi trabajo que llegaron a programar en archivos de texto para almacenar la información que ahí se manejaba, después en un proceso de migración pasaron todo a una base de datos.

ahora bien una forma de simular este proceso en java, para mi es utilizando la clase file de java.io.

por el momento tengo esto y quisiera saber si a su punto de vista voy por el camino correcto o podriamos usar alguna otra alternativa.

import java.io.*;

public class Almacena {

    public Almacena() {
    }
   
   
    public static void main (String[] args) {
       
    File ej = new File ("c:ejemplo1.txt"); //Utilizamos la clase File para Crear el archivo
    Almacena al = new Almacena();
    al.comprueba(ej);
    al.escribe(ej);
    al.eliminaDato(ej);

   }
   
   //Metodo para comprobar si se creo el archivo  txt
   public void comprueba(File ej){      
        try {
    if (ej.createNewFile())
       System.out.println("El archivo  se ha creado correctamente");
    else
       System.out.println("No ha podido ser creado el archivo");
    } catch (IOException ioe) {
     ioe.printStackTrace();
     
      }
   }
   
   //Metodo Para escribir en el archivo
   public void escribe(File ej ){                      
        try{
                BufferedWriter bw = new BufferedWriter(new FileWriter(ej));
            bw.write("cesar");
            bw.close();        
        }catch(IOException e) {
               
     }          
   }
   
   //Metodo para eliminar la informacion del archivo txt
   public void eliminaDato(File ej){
        String sCadena="";
        try {
                  //BufferedReader w = new BufferedReader(new FileReader(ej));                 
                    BufferedReader bf = new BufferedReader(new FileReader(ej));
                    //voy leyendo cadena por cadena hasta donde sea nullo
                    while ((sCadena = bf.readLine())!=null) {
                                System.out.println(sCadena);
                                if(sCadena=="cesar"){
                                        System.out.println ("Se eliminaria el Objeto");
                                       
                                }
                                else
                                {
                                        System.out.println ("No se Eliminaria el Objeto");
                                }
            }                                  
     }
      catch (Exception ex) {
   
      }        
   }
}

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de genitalico

que tal hace poco me tope con

que tal hace poco me tope con algo asi en una tarea .. lo resolvi de esta manera..
la tarea consistía en hacer una agenda y que los datos se guardaran en un archivo de texto seria la base de datos

primero que nada tendrías que crear un estructura del archivo de como manejaras los datos..
lo que hice fue separar los datos por etiquetas y nombres por ejemplo

<.dato.>
Nombre fulano
Apellido tal
Telefono 68986
<.dato.>
Nombre fulano2
Apellido tal2
<.dato.>

si te das cuenta mis registros empiezan apartir de la etiqueta <.dato.> eso lo podrias programar para que te detecte esa cadena y sabrás que después de un <.dato.> y antes de otro <.dato.> seria el inicio y fin de un registro respectivamente

ahora los nombres como asi les llamo son lo que definira que campos estamos leyendo Nombre es el nombre de la persona y asi..
con eso por ejemplo resolvi que al leer el archivo me tomara la cadena y luego de un espacio me imprimiera el nombre del campo y despues el registro de ese campo si te das cuenta fulano2 no tiene Telefono eso no importaria..
con esto tambien resuelvo que si en caso de querer meterle un Telefono a fulano2 lo haga despues de su ultimo registro que seria apellido y al leer leeria como te dije el nombre Telefono y sabria que es un campo y seguido su respetivo registro..

lo unico que tendrias que hacer y veo bastante dificil o al menos eso creo es eliminar un registro que se encuentre en medio de otros por que seria complicado creo yo juntar los demas para que el archivo siga siendo corrido algo asi:

<.dato.>
Nombre fulano
Apellido tal
Telefono 68986
<.dato.>
Nombre fulano2
Apellido tal2
<.dato.>
Nombre fulano3
Telefono 7855
<.dato.>

eliminamos fulano2 y quedaria el archivo asi

<.dato.>
Nombre fulano
Apellido tal
Telefono 68986
<.dato.>
Nombre fulano3
Telefono 7855
<.dato.>

yo no hice un algoritmo que haga eso dado que mi programa esta echo en C y utilice algunos comando como el sed en linux para que lo hiciera por mi... lo mismo sucederia si quisiera eliminar un campo de cualquier registro igualmente juntar los demas ..

bueno esa es mi idea y muchas cosas las resolvi usando comando en linux, mi programa creaba los argumentos a pasar en base a lo que queria hacer y el comando se encargaba de muchas cosas como la que te digo...

style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">