viernes, septiembre 30, 2011

[Java] Java This ejemplo

Este es un ejemplo en JAVA que muestra el uso basico de 'this'.

En este se ejemplifica como diferenciar entre una variable de clase y una variable de metodo  que tengan el mismo nombre entre si, mediante 'this'.

_______________________________________________

public class Ejemplo {

    //se define una variable de CLASE llamada 'numero'
    private String numero = "uno";

    public static void main(String args[]) {
        Ejemplo ej = new Ejemplo();
        ej.resultado();
    }

    public void resultado() {


        //se define una variable local llamada 'numero'
        String numero="dos";
      
        //¿como se distingue entre la variable 'numero' de clase
        //y la variable 'numero' propia de la funcion?
              
        //sin this
        //=> Se refiere a la variable declarada en la funcion
        System.out.println("numero=" + numero+" => muestra la variable declarada en el metodo");
           
        //con this
        //=> Se refiere a la variable declarada en la clase
        System.out.println("numero=" + this.numero+" => muestra la variable declarada en la clase");

    }
}

---------------------------------

La salida de este programa es la siguiente:

run:

numero=dos => muestra la variable declarada en el metodo

numero=uno => muestra la variable declarada en la clase

BUILD SUCCESSFUL (total time: 0 seconds)

Saludos...

jueves, septiembre 29, 2011

[Java] Downloader Codigo

Este pedazo de codigo en Java , como su nombre lo indica es un 'Downloader', que sirve para bajar un fichero determinado de algun lugar de la red.

Sus usos se limitan a la imaginacion del programador..
Saludos y espero que les sea util.



____________________________________________________________________________

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;

/**
 * Java Downloader
 * @author Oscar Hurtado Morato.
 */

public class Downloader {

    /*
     * Ejemplo:
     * Leera de la direccion (ficticia)
     * http://www.asdhgf.com/javaPic.jpg
     * el jpg con nombre javaPic, el grafico
     * sera guardado (con el mismo nombre)
     * dentro el directorio local 'd:/TEMPORAL'
     */
   
    public static void main(String args[]) throws IOException {
        Downloader downloader = new Downloader();
        String urlS = "http://www.asdhgf.com/java.jpg";
        String saveDir = "d:/TEMPORAL";
        System.out.println("Bajando fichero de: "+urlS);
        downloader.download(urlS, saveDir);
        System.out.println("Download completo....");
       
    }

    public void download(String urlS, String saveDir) throws IOException {

        //obtiene el nombre del archivo y lo agrega al directorio de salida
        int lastIndex = urlS.lastIndexOf("/");
        String archName = urlS.substring(lastIndex);
        String savePath = saveDir + archName;
        // downloader
        BufferedInputStream bins = new BufferedInputStream(new java.net.URL(urlS).openStream());
        FileOutputStream fouts = new FileOutputStream(savePath);
        BufferedOutputStream bouts = new BufferedOutputStream(fouts, 1024);
        byte[] data = new byte[1024];
        int bte = 0;
        while ((bte = bins.read(data, 0, 1024)) >= 0) {
            bouts.write(data, 0, bte);
        }
        bouts.close();
        bins.close();
        System.out.println("fichero '"+archName+"' colocado en carpeta "+saveDir);
    }
}

java.net.SocketException: Software caused connection abort: socket write error

JAVA : Utilizando la librería " org.apache.commons.net.ftp ", encontré que al listar los archivos del servidor FTP se generaba...