2012-05-08 12 views
5

Come posso ottenere il numero di volte in cui un programma è già stato eseguito in Java senza tenere un file e il conteggio. C'è una classe Application o qualcosa in Java per controllare il conteggioCount No of times Il programma è stato eseguito

+1

È un'applicazione basata su Web o un'applicazione standalone? –

risposta

6

È possibile utilizzare il preferences API. Questo elimina la necessità di di per eseguire l'I/O del file. Sarà comunque necessario leggere il valore di preferenza, incrementarlo e quindi memorizzare il nuovo valore.

Su Windows, l'API delle preferenze utilizza il registro. Su Unix, l'API delle preferenze usa il file system come backing store (ma questo è nascosto da te come sviluppatore).

È possibile ottenere/memorizzare le preferenze per il sistema o per un singolo utente. (Non è chiaro se si desidera sapere quante volte un utente ha eseguito il programma, o quante volte su qualsiasi computer su tale computer ha eseguito il programma). Cerca Preferences.systemNodeForPackage() e Preferences.userNodeForPackage() nello documentation.

0

Si può fare qualcosa di simile:

public class Test { 

    private static int INSTANCE_COUNTER = 0; 

    public Test() { 

     INSTANCE_COUNTER++; 
    } 

    public static final int getInstanceCounter() { 

     return INSTANCE_COUNTER; 
    } 

    //-Methods-// 
} 

Ora, è possibile chiamare Test.getInstanceCounter() per ottenere il numero.

+0

E quando si esce dal programma e si avvia di nuovo? "INSTANCE_COUNTER" sarà nuovamente 0. Forse se avessi suggerito di serializzare la classe 'Test', forse dovremmo ottenere da qualche parte ... –

+0

@SoboLAN: la serializzazione richiede comunque di leggere e scrivere un file. –

+1

@both: se ha bisogno del conteggio per tutte le esecuzioni di una particolare classe, allora suppongo che debba usare i file direttamente o indirettamente! –

Problemi correlati