TutorJava Nivel Básico

La clase System contiene otros m�todos que proporcionan varias funcionalidades incluyendo la copia de arrays y la obtenci�n de la hora actual.

.�Copiar Arrays

El m�todo arraycopy() de la clase System se utiliza para realizar una copia eficiente de los datos de un array a otro. Este m�todo requiere cinco argumentos.

public static
    void copiaarray(Object fuente, int indiceFuente, Object destino, int indiceDestino, int longitud)

Los dos argumentos del tipo Object indican los array de origen y de destino. Los tres argumentos enteros indican la posici�n en los array de origen y destino y el n�mero de elementos a copiar.

El siguiente programa utiliza copiaarray() para copiar algunos elementos desde copiaDesde a copiaA.

class Prueba {
    public static void main(String[] args) {
        byte[] copiaDesde = { 'd', 'e','s', 'c', 'a', 'f', 'e', 'i', 'n', 'a', 'd', 'o' };
        byte[] copiaA = new byte[7];

        System.copiaarray(copiaDesde, 3, copiaA, 0, 7);
        System.out.println(new String(copiaA, 0));
    }
}

Con la llamada al m�todo copiaarray() en este programa de ejemplo comienza la copia en el elemento n�mero 3 del array fuente -- recuerda que los �ndices de los arrays empiezan en cero, por eso la copia empieza en el elemento 'c'. Luego copiaarray() pone los elementos copiados en la posici�n 0 del array destino copiaA. Copia 7 elementos: 'c', 'a', 'f', 'e', 'i', 'n', y 'a'. Efectivamente, el m�todo copiaarray() saca "cafeina" de "descafeinado".

Observa que el array de destino debe ser asignado antes de llamar a arraycopy() y debe ser lo suficientemente largo para contener los datos copiados.

.�Obtener la Hora Actual

El m�todo currentTimeMillis() devuelve la hora actual en milisegundos desde las 00:00:00 del 1 de Enero de 1970. Este m�todo se utiliza comunmente en pruebas de rendimiento; obtener la hora actual, realizar la operaci�n que se quiere controlar, obtener de nuevo la hora actual--la diferencia entre las dos horas es el tiempo que ha tardado en realizarse la operaci�n.

En interfaces gr�ficos de usuarios el tiempo entre dos pulsaciones del rat�n se utiliza para determinar su el usuario ha realizado un doble click. El siguiente applet utiliza currentTimeMillis() para calcular el n�mero de milisegundos entre los dos clicks del rat�n. Si el tiempo entre los dos clicks es menor de 200 milisegundos, los dos clicks de rat�n se interpretan como un doble click.

Aqu� tienes el c�digo fuente para el applet TimingIsEverything.

import java.awt.*;

public class TimingIsEverything extends java.applet.Applet {

    public long firstClickTime = 0;
    public String displayStr;

    public void init() {
        displayStr = "Ha un Doble Click aqu�";
    }
    public void paint(Graphics g) {
        Color fondo = new Color(255, 204, 51);
        g.setColor(fondo);	
        g.drawRect(0, 0, size().width-1, size().height-1);
        g.setColor(Color.black);
        g.drawString(displayStr, 40, 30);
    }
    public boolean mouseDown(java.awt.Event evt, int x, int y) {
        long clickTime = System.currentTimeMillis();
        long clickInterval = clickTime - firstClickTime;
        if (clickInterval < 200) {
            displayStr = "Doble Click!! (Intervalo = " + clickInterval + ")";
            firstClickTime = 0;
        } else {
            displayStr = "Un solo Click!!";
            firstClickTime = clickTime;
        }
        repaint();
        return true;
    }
}

Se podr�a utilizar el valor devuelto por este m�todo para calcular la hora y fecha actuales. Sin embargo, encontrar�s m�s conveniente obtener la hora y fecha actuales desde la clase Date del paquete java.util.

.�Salir del Entorno de Ejecuci�n.

Para salir del int�rprete Java, llama al m�todo System.exit(). Debes pasarle un c�digo de salida en un entero y el interprete saldr� con ese c�digo de salida.

System.exit(-1);

Nota: El m�todo exit() hace salir del int�rprete Java, no s�lo del programa Java-- ten cuidado cuando utilice est� funci�n.

Consideraciones de Seguridad:

La llamada al m�todo exit() est� sujeta a las restricciones de seguridad. Por eso dependiendo del navegador donde se est� ejecutando el applet, una llamada a exit() desde un applet podr�a resultar en una excepci�n SecurityException.

.�Selecionar y Obtener el Manejador de Seguridad

El controlador de seguridad es un objeto que refuerza cierta vigilancia de seguridad para una aplicaci�n Java. Se puede seleccionar el controlador de seguridad actual para una aplicaci�n utilizando el m�todo setSecurityManager() de la clase System, y se puede recuperar el controlador de seguridad actual utilizando el m�todo getSecurityManager().

Consideraciones de Seguridad:

El controlador de seguridad de una aplicaci�n s�lo puede seleccionarse una vez. Normalmente, un navegador selecciona su controlador de seguridad durante el arranque. Por eso, la mayor�a de las veces, los applets no pueden seleccionar el controlador de seguridad porque ya ha sido seleccionado. Si un applet hace esto resultar� una SecurityException.

COMPARTE ESTE ARTÍCULO

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP