JavaSE 0.5: Manejo Archivos Java CRUD
Diagrama UML de archivos
Como punto relevante el paquete de negocio llama al paquete de datos que es en donde se encuentra el patro de diseño DAO con los archivos.
Estructura del proyecto:
Antes de ejecutar la clase main del proyecto se debe crear el archivo:
/**String nombreArchivo = "f:\\peliculas.txt";*/
Clase Relevante del proyecto
package
com.mx.dao;
import
java.io.*;
import
java.util.ArrayList;
import
java.util.List;
import
com.mx.domain.*;
import
com.mx.excepciones.*;
/**
* @author
cl
*/
public
class AccesoDatosImpl
implements AccesoDatos
{
/** Debe existir este archivo String
nombreArchivo = "f:\\peliculas.txt";*/
@Override
public
boolean existe(String
nombreArchivo) throws
AccesoDatosEx {
File
archivo = new
File(nombreArchivo);
return
archivo.exists();
}
@Override
public List<Pelicula>
listar(String
nombreArchivo) throws
LecturaDatosEx {
File
archivo = new
File(nombreArchivo);
List<Pelicula>
peliculas = new
ArrayList();
try
{
BufferedReader
entrada = new
BufferedReader(new
FileReader(archivo));
String
linea = null;
linea = entrada.readLine();
while
(linea != null) {
Pelicula
pelicula = new
Pelicula(linea);
peliculas.add(pelicula);
linea = entrada.readLine();
}
entrada.close();
} catch
(IOException ex)
{
ex.printStackTrace();
}
return
peliculas;
}
@Override
public void
escribir(Pelicula
pelicula, String
nombreArchivo, boolean
anexar) throws
EscrituraDatosEx {
File
archivo = new
File(nombreArchivo);
try
{
PrintWriter
salida = new
PrintWriter(new
FileWriter(archivo, anexar));
salida.println(pelicula.toString());
salida.close();
System.out.println("Se
ha escrito correctamente al archivo");
} catch
(IOException ex)
{
ex.printStackTrace();
}
}
@Override
public String
buscar(String
buscar, String
nombreArchivo) {
File
archivo = new
File(nombreArchivo);
String
resultado = null;
try
{
BufferedReader
entrada = new
BufferedReader(new
FileReader(archivo));
String
linea = null;
int
i = 0;
linea = entrada.readLine();
while
(linea != null) {
if
(buscar != null
&& buscar.equalsIgnoreCase(linea))
{
resultado = "Pelicula
" + linea + " encontrada
en indice " + i;
break;
}
linea = entrada.readLine();
i++;
}
entrada.close();
} catch
(IOException ex)
{
ex.printStackTrace();
}
return
resultado;
}
public void
crear(String
nombreArchivo) {
File
archivo = new
File(nombreArchivo);
try
{
PrintWriter
salida = new
PrintWriter(new
FileWriter(archivo));
salida.close();
System.out.println("Se
ha creado el archivo correctamente");
} catch
(IOException ex)
{
ex.printStackTrace();
}
}
@Override
public void
borrar(String
nombreArchivo) throws
AccesoDatosEx {
File
archivo = new
File(nombreArchivo);
archivo.delete();
System.out.println("Se
ha borrado el archivo correctamente");
}
}
Proyecto Completo
No hay comentarios.