2012-05-08 19 views
5

¿Cómo puedo obtener la cantidad de veces que un programa se ha ejecutado previamente en Java sin guardar un archivo ni realizar el recuento? ¿Hay una clase de aplicación o algo en Java para verificar el conteo?recuento Número de veces que se ejecutó el programa

+1

¿Es esta aplicación basada en web o aplicación independiente? –

Respuesta

6

Puede usar el preferences API. Esto elimina la necesidad de para hacer el archivo de E/S. Aún necesitará leer el valor de preferencia, incrementarlo y luego almacenar el nuevo valor.

En Windows, la API de preferencias usa el registro. En Unix, la API de preferencias usa el sistema de archivos como la tienda de respaldo (pero esto está oculto para usted como desarrollador).

Puede obtener/almacenar preferencias para el sistema o para un usuario individual. (No está claro si desea saber cuántas veces usuario ejecutó el programa, o cuántas veces alguien en dicha computadora ejecutó el programa). Busque Preferences.systemNodeForPackage() y Preferences.userNodeForPackage() en el documentation.

0

Usted puede hacer algo como:

public class Test { 

    private static int INSTANCE_COUNTER = 0; 

    public Test() { 

     INSTANCE_COUNTER++; 
    } 

    public static final int getInstanceCounter() { 

     return INSTANCE_COUNTER; 
    } 

    //-Methods-// 
} 

Ahora, puede llamar Test.getInstanceCounter() para obtener el número.

+0

¿Y cuándo sale del programa y lo vuelve a iniciar? El 'INSTANCE_COUNTER' será 0 nuevamente. Tal vez si sugiriera serializar la clase 'Test', tal vez llegaríamos a alguna parte ... –

+0

@SoboLAN: la serialización todavía requiere que lea y escriba un archivo. –

+1

@both: si necesita el conteo para toda la ejecución de una clase en particular, entonces supongo que tiene que usar archivos directa o indirectamente. –

Cuestiones relacionadas