2012-05-08 12 views
5

Wie kann ich die Anzahl der Male, die ein Programm zuvor in Java ausgeführt wurde, ohne eine Datei und Tallying zu halten. Gibt es eine Application-Klasse oder etwas in Java, um die Anzahl zu überprüfenCount Anzahl der Zeiten Programm wurde ausgeführt

+1

Ist diese webbasierte Anwendung oder eigenständige Anwendung? –

Antwort

6

Sie könnten die preferences API verwenden. Dies beseitigt die Notwendigkeit Sie, die Datei E/A zu tun. Sie müssen den Präferenzwert immer noch lesen, inkrementieren und dann den neuen Wert speichern.

Unter Windows verwendet das Preferences API die Registrierung. Unter Unix verwendet das Preferences API das Dateisystem als Backing Store (dies ist Ihnen als Entwickler jedoch verborgen).

Sie können Präferenzen entweder für das System oder für einen einzelnen Benutzer abrufen/speichern. (Es ist nicht klar, wenn Sie wissen möchten, wie oft ein Benutzer lief das Programm, oder wie oft jemand auf besagtem Computer lief das Programm). Suchen Sie nach Preferences.systemNodeForPackage() und Preferences.userNodeForPackage() in der documentation.

0

Sie können wie etwas tun:

public class Test { 

    private static int INSTANCE_COUNTER = 0; 

    public Test() { 

     INSTANCE_COUNTER++; 
    } 

    public static final int getInstanceCounter() { 

     return INSTANCE_COUNTER; 
    } 

    //-Methods-// 
} 

Jetzt können Sie Test.getInstanceCounter() aufrufen, um die Nummer zu bekommen.

+0

Und wenn Sie das Programm beenden und neu starten? Der 'INSTANCE_COUNTER' wird wieder 0 sein. Vielleicht, wenn Sie vorschlagen würden, die Klasse 'Test' zu serialisieren, würden wir vielleicht irgendwo hinkommen ... –

+0

@SoboLAN: Serialisierung erfordert immer noch das Lesen und Schreiben einer Datei. –

+1

@both: Wenn er die Anzahl für die Ausführung einer bestimmten Klasse benötigt, dann muss er Dateien direkt oder indirekt verwenden! –

Verwandte Themen