Le proprietà predefinite variano a seconda del sistema operativo. Ci saranno alcune chiavi per le quali non sono definiti valori. Sulla mia macchina ho trovato user.variant
e user.timezone
senza alcun valore! Di seguito è riportato il codice che elenca giù tutte le coppie di valori chiave:
Properties prop = System.getProperties();
Set<Object> set = prop.keySet();
Iterator<Object> itr = set.iterator();
while(itr.hasNext()){
Object obj = itr.next();
String propVal = System.getProperty(obj.toString());
System.out.println(obj.toString()+" = "+propVal);
}
}
Per quanto riguarda il vostro riferimento specifiche su user.home
, a quanto pare ha definito la maggior parte del tempo. Dai un'occhiata a questo interesting post dove le persone hanno pubblicato l'elenco delle proprietà di sistema su macchine diverse.
penso che queste siano le chiavi – anshulkatta
@anshulkatta; Immagino che le chiavi esistano sempre - ma la domanda è: indicano sempre qualcosa (sano?). – miku
Le chiavi @miku esistono solo quando c'è un valore, controlla la mia risposta sotto – DevZer0