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. |