Вы находитесь на странице: 1из 2

http://aula.virtualepn.edu.ec/file.php/419/EPN_JAVAADV/src/epn/javaa...

package epn.javaadv.stream;

import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

/**
* Clase para administrar las operaciones generales de los archivos utilizando JAVA,
* en el cual se demostrará la utilización de los objetos fundamentales FileReader, FileWriter
* @author martosfre
* @see www.matoosfe.com
* Sep 23, 2010
*/
public class AdminArchivo {

/**
* Método para crear un directorio, no es necesario calcular la exception IOException
* @param nombreDirectorio
* @param path
* @return
*/
public boolean crearDirectorio(String nombreDirectorio, String path){
File directorio = new File(path + File.separatorChar + nombreDirectorio);
return directorio.mkdir();
}

/**
* Método para copiar el contenido de un archivo a otro
* @param archivoOrigen
* @param archivoDestino
* @return
* @throws IOException
* @throws ClassNotFoundException
*/
public boolean copiarContenidoArchivo(File archivoOrigen, File archivoDestino) throws IOException,
ClassNotFoundException{

boolean banderaCopiar = false;


int car = 0;
//Creamos un objeto para leer los datos del archivo
FileReader lectorArchivoOrigen = new FileReader(archivoOrigen);
//Creamos un objeto para escribir los datos leidos al nuevo archivo
FileWriter escritorArchivoDestino = new FileWriter(archivoDestino);

while((car = lectorArchivoOrigen.read())!= -1){


escritorArchivoDestino.write(car);
}
lectorArchivoOrigen.close();
escritorArchivoDestino.close();
banderaCopiar = true;
return banderaCopiar;

/**
* Método para recuperar los archivos dado un directorio
* @param directorio
* @return
*/
public File[] recuperarArchivosDirectorio(File directorio) throws IOException{

File[] archivos = null;

//Verificamos que sea un directorio y que existe


if(directorio.exists() && directorio.isDirectory()){
archivos = directorio.listFiles();
for (File archivo : archivos) {
System.out.println("Archivo:" + archivo.getName());
}
}
return archivos;
}

/**
* Método para escribir datos a un archivo
* @return
*/
public File escribirArchivo(){
return null;

1 de 2 18/09/2012 16:08
http://aula.virtualepn.edu.ec/file.php/419/EPN_JAVAADV/src/epn/javaa...

/**
* Método para mover un archivo de una ubicación a otra
* @return
*/
public boolean moverArchivo(){
return false;
}

/**
* Método para modificar un archivo a continuación de lo que se tiene
* @return
*/
public boolean modificarArchivo(){
return false;
}

public static void main(String[] args) {


/*Es necesario utilizar el caracter de separación para poder escalar de un sistema operativo
* a otro evitando problemas de nombres.
*/
String ubicacionArchivo = File.separatorChar + "home" + File.separatorChar + "martosfre";

AdminArchivo adminArc = new AdminArchivo();

try {
//El archivoOrigen.txt debe crearse anteriormente antes de proceder ya que es la fuente de datos.
File archivoOrigen = new File(ubicacionArchivo + File.separatorChar + "archivoOrigen.txt");
File archivoDestino = new File(ubicacionArchivo + File.separatorChar + "archivoDestino.txt");
//Verificamos que exista el directorio
if(new File(ubicacionArchivo + File.separatorChar + "cec_epn").exists()){
boolean copiaExitosa = adminArc.copiarContenidoArchivo(archivoOrigen, archivoDestino);
if(copiaExitosa){
adminArc.recuperarArchivosDirectorio(new File(ubicacionArchivo));
}
}else{
if(adminArc.crearDirectorio("cec_epn", ubicacionArchivo)){
boolean copiaExitosa = adminArc.copiarContenidoArchivo(archivoOrigen, archivoDestino)
if(copiaExitosa){
adminArc.recuperarArchivosDirectorio(new File(ubicacionArchivo));
}
}else{
System.out.println("Problemas al crear directorio, posible error de permisos");
}
}
} catch (IOException e) {
System.out.println("Error IO:" + e.getMessage());
e.printStackTrace();
} catch (ClassNotFoundException e) {
System.out.println("Error CNF:" + e.getMessage());
e.printStackTrace();
}catch(Exception e){
System.out.println("Error General:" + e.getMessage());
}
}
}

2 de 2 18/09/2012 16:08

Вам также может понравиться