Advanced Java Services | System |
Wichtige Felder | |
---|---|
Typ | Name des Datenfelds |
static PrintStream |
err The "standard" error output stream. |
static InputStream |
in The "standard" input stream. |
static PrintStream |
out The "standard" output stream. |
Wichtige Methoden | |
---|---|
Returntyp | Name der Methode |
static void |
arraycopy(Object src, int srcPos, Object dest, int destPos, int length) Copies an array from the specified source array, beginning at the specified position, to the specified position of the destination array. |
static long |
currentTimeMillis() Returns the current time in milliseconds. |
static void |
exit(int status) Terminates the currently running Java Virtual Machine. |
static void |
gc() Runs the garbage collector. |
static Properties |
getProperties() Determines the current system properties. |
static String |
getProperty(String key) Gets the system property indicated by the specified key. |
Das Feld out von System wird permanent verwendet in System.out.println(...) . Mit der statischen Methode arraycopy lassen sich, wer hätte das gedacht, Felder kopieren, siehe Arrays kopieren. currentTimeMillis() liefert die Millisekunden, die seit dem 01.01.1970 vergangen sind. Mit exit() beendet man ein JavaPogramm. Für ein normales Ende gibt man 0 zurück. Mit gc() bittet man den GarbageCollector, er möge aufräumen. Wann er es dann wirklich tut, bestimmt er und nicht wir mit diesem Aufruf ! getProperties() liefert ein Propertiesobjekt. Die Klasse Properties ist eine Unterklasse von HashTable und hält eine (key, value)-Tabelle von wichtigen Systemkonstanten.
Properties prop = System.getProperties() ; Enumeration enum = prop.propertyNames(); // enum enthält nun alle keys
Ein Nachteil ist, daß diese Enumeration unsortiert ist. Mit etwas mehr Mühe bekommt man eine sortierte Liste. Da Properties das Interface Map implementiert, schlagen wir einen etwas anderen Weg ein. Mit keyset() holen wir uns ein Set-Objekt, das wir einem TreeSet-Konstruktor übergeben.
Properties prop = System.getProperties() ; Set set = prop.keySet() ; // enthält alle keys in einer unsortierten Menge TreeSet ts = new TreeSet(set) ; // enthält alle keys, jetzt aber sortiert Iterator iter = ts.iterator(); // liefert den Inhalt sortiert
Einige Schlüssel aus dieser Liste (wichtige Schlüssel fett):
Man hat einen Schlüsselwert key und ein Propertiesobjekt prop
String value = prop.getProperty(key) ;
Man hat einen Schlüsselwert key (und kein Propertiesobjekt)
String value2 = System.getProperty(key) ;