You are on page 1of 9

Instituto

Tecnolgico
Superior de
Misantla
Proyecto de creacin
de fichero.

[Escriba el nombre del autor]

Francisco
Cdigo de programa:
package ejemplotexto;//SIRVE PARA SABER QUE A CONTINUACIN HABR
UN PAQUETE DE CLASES

import java.io.*;//IMPORTA PAQUETES PARA QUE SE PUEDAN INGRESAR


DATOS DESDE EL TECLADO

import java.util.*;

public class EjemploTexto {//INICIO DE CDIGO

//A PARTIR DE AQU SE LE CONCEDE AL PROGRAMA PERMISO PARA


ACCEDER AL SISTEMA DE LA COMPUTADORA

private static File Ffichero=new File("C:\\File\\Siiiiiii\\Proyecto\\Documento.txt");

private static File archivo=null;

private static FileWriter fichero=null;

private static FileReader fr=null;

private static BufferedReader br=null;

private static PrintWriter escrive=null;

private static BufferedReader lee=new BufferedReader(new


InputStreamReader(System.in));

public static void main(String[] args) throws IOException {//SE AGREGA EL


MTODO MAIN Y SE MANEJAN LAS EXCEPCIONES

String ruta="C:\\File\\Siiiiiii\\Proyecto\\Documento.txt";//ESPECIFICA LA RUTA


Y EL NOMBRE CON EL QUE SE CREAR EL ARCHIVO

File archivo=new File(ruta);//CREA EL ARCHIVO DENTRO DE LA RUTA


ESPECIFICADA

BufferedWriter bw;//ACCEDE A LOS CARACTERES INGRESADOS DESDE EL


TECLADO

if(archivo.exists())//CONDICIN SI EXISTE EL ARCHIVO

bw=new BufferedWriter(new FileWriter(archivo));


bw.write("El fichero de texto ya estaba creado.");//ESCRIBE EL MENSAJE
DENTRO DEL ARCHIVO

}else{//CONDICIN SI NO EXISTE EL ARCHIVO

bw=new BufferedWriter(new FileWriter(archivo));

bw.write("El fichero fue creado con exito");//CREA EL TEXTO DENTRO


DEL ARCHIVO

bw.close();

int op=0;

while(true){//INICIA LA SECUENCIA EN LA QUE SE LE SOLICITA UNA ACCIN


AL USUARIO

System.out.println("****SELECCIONE UNA OPCION****");//MUETRA LAS


OPCIONES A ELEGIR

System.out.println("1.-Mostrar informacion del archivo. ");

System.out.println("2.-Eliminar una linea");

System.out.println("3.-Insertar una nueva linea");

System.out.println("4.-Eliminar fichero");

System.out.println("5.- Salir");

op=Integer.parseInt(lee.readLine());//LEER LA OPCION SELECCIONADA

switch(op){//PERMITE HACER UNA SECUENCIA DE CASOS

case 1://EJECUTA LA ACCIN DE LA PRIMERA OPCIN

LeerArchivo(true);//LEE LA INFORMACIN DEL ARCHIVO

break;//FINALIZA LA EJECUCIN DE ESTA OPCIN

case 2://EJECUTA LA ACCIN DE LA SEGUNDA OPCIN

System.out.println("Inserta el numero de linea a eliminar");//MUESTRA EN


PANTALLA EL TEXTO MARCADO
int n=Integer.parseInt(lee.readLine());//LEE Y UBICA LA LNEA QUE SE
ELIMINAR

BorrarLinea(n);//ELIMINA LA LINEA SELECCIONADA

System.out.println("Desea ingresar texto, si es asi ingrese, si no pulse enter");

String z=lee.readLine();//ACCEDE AL ARCHIVO PARA AGREGAR UNA LNEA


NUEVA

AgregarLinea(z);//AGREGA UNA NUEVA LNEA

break;//FINALIZA LA ACCIN DE ESTA OPCIN

case 3://EJECUTA LA ACCIN DE LA TERCERA OPCIN

System.out.println("Inserta el texto de la linea a insertar");

String r=lee.readLine();//ACCEDE AL ARCHIVO PARA AGREGAR UNA LNEA


NUEVA

AgregarLinea(r);//AGREGA UNA NUEVA LNEA

break;

case 4://EJECUTA LA ACCIN DE LA CUARTA OPCIN

BorrarFichero(Ffichero);//DETECTA EL FICHERO A ELIMINAR Y LO ELIMINA

break;//FINALIZA LA ACCIN DDE ESTA OPCIN

case 5://EJECUTA LA ACCIN DE LA QUINTA OPCIN

return;//SE DIRIGE AL FINAL DEL CDIGO PARA SALIR.

public static void AgregarLinea(String r){//INICIA LA CLASE PARA AGREGAR


UNA LNEA EN EL ARCHIVO

Vector LineasAux=new Vector();//SE CREA EL MTODO QUE HAR LA LNEA


NUEVA
LineasAux.addElement(r);//SE AADE LA LNEA AL ARCHIVO

System.out.println("LEYENDO EL ARCHIVO...");//IMPRIME EL MENSAJE EN


PANTALLA AL TIEMPO QUE EJECUTA LA ACCIN

LeerArchivo(false);//BUSCA EL ARCHIVO EN EL QUE CREAR LA LNEA

for(int i=0;i<LineasNuevas.size();i++){//AADE LA CANTIDAD DESEADA DE


LNEAS. POR DEFECTO SE AADE SOLO UNA

LineasAux.addElement(LineasNuevas.elementAt(i));//PASA LOS ELEMENTOS


DEL ARCHIVO

}//FINALIZA EL CICLO FOR

GuardarArchivo(LineasAux);//GUARDA EL ARCHIVO CON LA LINEA CREADA

}//FINALIZA LA CLASE QUE AGREGAR LA LNEA

public static void GuardarArchivo(Vector ln){//GUARDA EL ARCHIVO CON LA


LINEA AGREGADA

try//SIRVE PARA INICIAR EL CDIGO QUE CREAR EL ARCHIVO

{//INICIA EL CDIGO DE CREACIN DEL ARCHIVO

fichero = new FileWriter("C:\\File\\Siiiiiii\\Proyecto\\Documento.txt");//SE


ESPECIFICA LA RUTA Y EL NOMBRE DEL ARCHIVO QUE SE CREAR

escrive = new PrintWriter(fichero);//GENERA EL ARCHIVO DENTRO DE


LA RUTA ESPECIFICADA

for(int i=0;i<ln.size();i++){//SE ESPECIFICAN LOS DETALLES QUE


TENDR EL TEXTO

escrive.println(ln.elementAt(i));

fichero.close();//TERMINA DE EJECUTAR LA CREACIN DEL ARCHIVO

} catch (Exception e) {

e.printStackTrace();

}
private static Vector LineasNuevas=new Vector();//SE DECLARA LA CLASE QUE
SERVIR PARA CREAR UNA NUEVA LNEA

public static void LeerArchivo(boolean b){//LEE EL ARCHIVO

System.out.println("");

LineasNuevas.clear();

try { //INICIA EL CDIGO PARA GENERAR LA NUEVA LNEA

archivo = new File ("C:\\File\\Siiiiiii\\Proyecto\\Documento.txt");//SE ESPECIFICA


LA RUTA Y EL ARCHIVO EN EL QUE SE INCLUIR LA NUEVA LNEA

fr = new FileReader (archivo);//LEE EL ARCHIVO Y LO PREPARA PARA


ESCRIBIR LA LNEA

br = new BufferedReader(fr);//CONSULTA EL DATO GUARDADO PARA


AADIRLO A LA LNEA

String linea;//PROCESA EL TEXTO CREADO POR EL USUARIO

while((linea=br.readLine())!=null){//INICIA EL CDIGO QUE GENERA LA


LINEA

LineasNuevas.addElement(linea);//AADE LA LNEA EN EL ARCHIVO


ESPECIFICADO

if(b){//CONDICIN PARA LA GENERACIN DE LA LNEA

System.out.println(linea);//MUESTRA LA NUEVA LNEA CREADA

br.close();

fr.close();//SE GUARDA EL ARCHIVO CON LA NUEVA LINEA CREADA

} catch (Exception e) {

System.out.println(e);

}//TERMINA EL PROCESO DE CREACIN DE NUEVA LNEA


public static void BorrarLinea(int n){//INICIA LA CLASE QUE BORRA UNA LNEA

Vector lineas=new Vector();

try {//INICIA EL CDIGO QUE SE ENCARGAR DE GENERAR LA LNEA

archivo = new File ("C:\\File\\Siiiiiii\\Proyecto\\Documento.txt");//SE ESPECIFICA


LA RUTA Y EL ARCHIVO EN EL CUAL SE BORRAR LA LINEA

fr = new FileReader (archivo);//LEE EL ARCHIVO EN EL CUAL SE DEBER


BORRAR UNA LNEA

br = new BufferedReader(fr);//CONSULTA LOS DATOS GUARDADOS QUE


INTRODUJO EL USUARIO.

String linea; int cont=0;//PROCESA EL NMERO DE LNEA QUE ELIGI EL


USUARIO PARA ELIMINAR

while((linea=br.readLine())!=null){//UBICA LA LNEA ELEGIDA POR EL


USUARIO

cont++;//CONTADOR QUE REGISTRA CUANTAS VECES SE EJECUTAR


LA INSTRUCCIN

if(cont!=n){//CONDICIN A EJECUTAR

lineas.addElement(linea);//AGREGAR LINEAS A UN VECTOR

br.close();

fr.close();

//SE GUARDA DE NUEVO EL ARCHIVO CON LA LINEA BORRADA

GuardarArchivo(lineas);

lineas.clear();

} catch (Exception e) {

System.out.println(e);
Vector LineasAux=new Vector();//SE CREA EL MTODO QUE HAR LA
LNEA NUEVA

Object z = null;

LineasAux.addElement(z);//SE AADE LA LNEA AL ARCHIVO

System.out.println("LEYENDO EL ARCHIVO...");//IMPRIME EL MENSAJE EN


PANTALLA AL TIEMPO QUE EJECUTA LA ACCIN

LeerArchivo(false);//BUSCA EL ARCHIVO EN EL QUE CREAR LA LNEA

for(int i=0;i<LineasNuevas.size();i++){//AADE LA CANTIDAD DESEADA DE


LNEAS. POR DEFECTO SE AADE SOLO UNA

LineasAux.addElement(LineasNuevas.elementAt(i));//PASA LOS ELEMENTOS


DEL ARCHIVO

}//FINALIZA EL CICLO FOR

GuardarArchivo(LineasAux);//GUARDA EL ARCHIVO CON LA LINEA CREADA

} //TERMINA LA INSTRUCCIN DE BORRAR LA LNEA

//MTODO QUE BORRA EL FICHERO SI EXISTE

//Ffichero ES EL OBJETO DE LA CLASE FILE QUE SE VA A BORRAR

public static void BorrarFichero(File Ffichero){//INICIA LA SECUENCIA PARA


BORRAR EL ARCHIVO

try {

if(Ffichero.exists()){//CONDICIN SI EXISTE EL ARCHIVO

Ffichero.delete();//SE BORRA EL FICHERO

System.out.println("Fichero borrado con xito");//IMPRIME EL MENSAJE


QUE INDICA QUE EL FICHERO HA SIDO BORRADO

}//FIN DE LA CONDICIN
}//FINALIZA LA SECUENCIA DE BORRADO

catch (Exception ex) {//CAPTURA UN POSIBLE ERROR Y LO IMPRIME EN


PANTALLA

System.out.println(ex.getMessage());

}//FINALIZA LA REVISIN DE ERRORES

}//TERMINA EL CDIGO DEL PROGRAMA.

Conclusiones:
Alain: A elaborar este cdigo le veo dos funciones como inicio. La primera es
comprender el lenguaje en el que se escribe un programa en java y la segunda es
aprender a realizar un programa que solicite tomar una decisin para que pueda
ejecutarse o llevar a cabo una accin. Este programa podra ser una base para
uno ms elaborado, como puede ser un control, monitoreo o bitcora en la cual se
puedan manejar y consultar los mensajes escritos en l.

Francisco: Al elaborar este proyecto de fichero en netbeans aprend varias cosas,


una de ellas el cdigo para hacerlo funcionar correctamente, as como tambin
para que sirve cada lnea de cdigo de dicho proyecto, sin olvidar el cmo hacer
que nuestro proyecto tome una decisin por s mismo a travs de un men de
opciones. Este proyecto tan solo es la base de un nuevo aprendizaje en el cual
podemos darnos cuenta de cmo manejar archivos .txt en consola.

You might also like