Espacio de tecnologia, software libre y sus derivados. Una horda de monos entrenados escriben de vez en cuando por aqui algunas noticias, opiniones e incluso alguna que otra cosa fuera del tema. Maqueros, favor de abstenerse que no somos lo suficientemente guapos.

Piano daemon

Operaciones basicas con archivos desde java

Usen estas funciones y ya no se metan en detalles…. hacen lo que tienen que hacer y punto….


import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.PrintWriter;

public class FileHelper {

    public static boolean addText2File(String file,String text){
        boolean valor_retorno = true;
        try {
            BufferedWriter writer = new BufferedWriter(new FileWriter(file,true)) ;
            writer.write(text) ;
            writer.close();
        }
        catch (IOException e) {
            valor_retorno = false;
        }

        return valor_retorno;
    }

    public static boolean createFileWithText(String dir_fichero,String archivo,String cadena_impresa){
    	boolean valor_retorno = true;

    	File fichero = new File (dir_fichero,archivo);
        try {

            if (fichero.createNewFile()){
                System.out.println("Se ha creado el Fichero: " + dir_fichero  + archivo);
            }
            else{
                System.out.println("No se ha creado el Fichero: " + dir_fichero  + archivo);
            }
        } catch (IOException ioe) {
                ioe.printStackTrace();
                valor_retorno = false;
        }

        try{
        	System.out.println("Alimentando contenido al Fichero: " + dir_fichero + "/" + archivo);
            PrintWriter fileOut = new PrintWriter(fichero);
            fileOut.println(cadena_impresa);
            fileOut.close();
            System.out.println("Contenido alimentado con exito al Fichero: " + dir_fichero + "/" + archivo);
        }catch (IOException ioe) {
                ioe.printStackTrace();
                System.out.println("No se ha alimentado el contenido para el Fichero: " + dir_fichero + "/" + archivo);
                valor_retorno = false;
        }

		return valor_retorno;

    }

    public static boolean createFileWithText(String archivo,String cadena_impresa){
    	boolean valor_retorno = true;

    	File fichero = new File (archivo);
        try {

            if (fichero.createNewFile()){
                System.out.println("Se ha creado el Fichero: "  + archivo);
            }
            else{
                System.out.println("No se ha creado el Fichero: " + archivo);
            }
        } catch (IOException ioe) {
                ioe.printStackTrace();
                valor_retorno = false;
        }

        try{
        	System.out.println("Alimentando contenido al Fichero: " + archivo);
            PrintWriter fileOut = new PrintWriter(fichero);
            fileOut.println(cadena_impresa);
            fileOut.close();
            System.out.println("Contenido alimentado con exito al Fichero: "  + archivo);
        }catch (IOException ioe) {
                ioe.printStackTrace();
                System.out.println("No se ha alimentado el contenido para el Fichero: " + archivo);
                valor_retorno = false;
        }

		return valor_retorno;

    }

    public void move(String fromFileName, String toFileName) throws IOException {
    	copy(fromFileName, toFileName);
		delete(fromFileName);
    }

    public void copy(String fromFileName, String toFileName) throws IOException {
    	File fromFile = new File(fromFileName);
    	File toFile = new File(toFileName);

    	if (!fromFile.exists()) throw new IOException("FileCopy: " + "no such source file: " + fromFileName);

    	if (!fromFile.isFile()) throw new IOException("FileCopy: " + "can't copy directory: " + fromFileName);

    	if (!fromFile.canRead()) throw new IOException("FileCopy: " + "source file is unreadable: " + fromFileName);

    	if (toFile.isDirectory()) toFile = new File(toFile, fromFile.getName());

    	if (toFile.exists()) {
    			if (!toFile.canWrite()) throw new IOException("FileCopy: " + "destination file is unwriteable: " + toFileName);
    			System.out.print("Overwrite existing file " + toFile.getName() + "? (Y/N): ");
    			System.out.flush();
    			BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
    			String response = in.readLine();
    			if (!response.equals("Y") && !response.equals("y")) throw new IOException("FileCopy: " + "existing file was not overwritten.");
    	} else {
    		String parent = toFile.getParent();
    		if (parent == null) parent = System.getProperty("user.dir");
    		File dir = new File(parent);
    		if (!dir.exists()) throw new IOException("FileCopy: " + "destination directory doesn't exist: " + parent);
    		if (dir.isFile()) throw new IOException("FileCopy: " + "destination is not a directory: " + parent);
    		if (!dir.canWrite()) throw new IOException("FileCopy: " + "destination directory is unwriteable: " + parent);
    	}

    	FileInputStream from = null;
    	FileOutputStream to = null;
    	try {
    		from = new FileInputStream(fromFile);
    		to = new FileOutputStream(toFile);
    		byte[] buffer = new byte[4096];
    		int bytesRead;

    		while ((bytesRead = from.read(buffer)) != -1)
    			to.write(buffer, 0, bytesRead); // write
    	} finally {
    		if (from != null)
    			try {
    				from.close();
    			} catch (IOException e) {
    				;
    			}
    		if (to != null)
    			try {
    				to.close();
    			} catch (IOException e) {
    				;
    			}
    	}
    }

    public static void delete(String fileName) {
        // A File object to represent the filename
        File f = new File(fileName);

        // Make sure the file or directory exists and isn't write protected
        if (!f.exists())
          throw new IllegalArgumentException(
              "Delete: no such file or directory: " + fileName);

        if (!f.canWrite())
          throw new IllegalArgumentException("Delete: write protected: "
              + fileName);

        // If it is a directory, make sure it is empty
        if (f.isDirectory()) {
          String[] files = f.list();
          if (files.length > 0)
            throw new IllegalArgumentException(
                "Delete: directory not empty: " + fileName);
        }

        // Attempt to delete it
        boolean success = f.delete();

        if (!success) throw new IllegalArgumentException("Delete: deletion failed");

    }

    public String obtenerNombreArchivo( String in ){
    	String cadena_retorno = null;

    	File fichero = new File(in);

    	if(fichero.exists()){
    		cadena_retorno = fichero.getName();
    	}

    	return cadena_retorno;
    }

}

Comenta