java.home
ve path.separator
, user.home
gibi öğeler arasında bir çift Java system properties vardır. spec, bu değerlerin varlığına ilişkin resmi sözlerden bahsetmez. Özellikle, user.home
ile ilgileniyorum. Her zaman varolan bir yola işaret ediyor mu?Java sistem özellikleri her zaman boş değil midir?
cevap
ben güvenle varsayabiliriz düşünüyorum o listedeki tüm özellikleri her zaman (Oracle tarafından sağlanan) JVM'de kullanılabilir. Bununla birlikte, bir null
kontrol daha savunmasızdır ve bu durumda pahalı değildir.
user.home
'u null olarak göremedim veya hatalı olarak varsayılan olarak belirtildi. Ancak, kullanıcıların -Duser.home=...
ile geçersiz kılınabileceğini unutmayın, böylece mevcut bir yola işaret etmek için ona güvenemezsiniz.
+1, kullanıcının herhangi bir özelliği anlamsız bir şekilde ayarlayabileceğini belirtmek için +1 – kdgregory
Eğer işaret dokümantasyon tesis null
değeri elde yoksa
The getProperty method returns a string containing the value of the property. If the property does not exist, this version of getProperty returns null.
Yani devletler
Bunun ne anlama geldiğinden emin değilim. Şüphesiz, Java sistemi özelliği "mambo.jumbo" null olacak, ancak normal bir özellik başlatılmamış için mümkün mü? –
@PeterJaloveczki: Evet, "varsayılan" özelliklerin tanımlanmadığı durumlarda daha fazla ilgileniyorum (durum göz önünde bulundurulmadan, kullanıcı açıkça çöplüğe ayarlandığında, örneğin application.jar -Duser.home = good/luck – miku
Spesifikasyonlar, user.home
'un kullanıcı ana dizini içerdiğini, null
içerdiğini söylemediğini söylemez. JVM'nin her zaman ayarlandığını garanti ettiğinden şüphem yok.
Varsayılan özellikler, işletim sistemine bağlı olarak farklılık gösterecektir. Değerlerin tanımlanmadığı bazı tuşlar olacaktır. Makinemde herhangi bir değer olmadan user.variant
ve user.timezone
'u buldum! Tüm anahtar değer çiftleri aşağı listeler kod aşağıdadır:
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);
}
}
user.home
hakkında özel referans ile ilgili olarak, çoğu zaman tanımlı görünüyor. İnsanların sistem özelliklerinin listesini farklı makinelere yükledikleri bu interesting post'a bakın.
İçgörüler ve kod için teşekkürler – miku
Sorunun bağlantısı bana bir cevap verdi: [System.getProperties] (http://docs.oracle .com/javase/1.5.0/docs/api/java/lang/System.html # getProperties% 28% 29): * Bu sistem özellikleri kümesi * ** her zaman aşağıdaki tuşları için * * değerleri içerir *. .. 'user.home' ... – miku
- 1. Güncelleştirme özellikleri boş değil mi?
- 2. executePendingTransactions() her zaman gerekli midir?
- 3. AnonymousId her zaman boş
- 4. mysqli_insert_id() her zaman BOŞ
- 5. Java sistem özellikleri ve ortam değişkenleri
- 6. ProfileDataRequestContext.RequestedClaimTypes ne zaman boş değil?
- 7. Parcelable ArrayList her zaman boş
- 8. mvc5 icollection her zaman boş
- 9. Dikdörtgen POST her zaman boş
- 10. EventHandler her zaman boş mu?
- 11. Qt QNetworkReply her zaman boş
- 12. Neden $? sistem() çağrıldıktan sonra her zaman 0?
- 13. C# Twitch Sınıfı her zaman boş
- 14. Sql Durum Bildirimi ne zaman boş değil
- 15. Java elasticsearch istemcisi her zaman sıfır
- 16. MVC Giriş. User.Identity her zaman boş
- 17. android: KomşuCellInfo her zaman boş! niye ya?
- 18. ActionMailer :: Base.deliveries her zaman Rspec içinde boş
- 19. MongoDB aggregate groupby kimliği her zaman boş
- 20. S3 DeleteObject - DeleteMarker her zaman boş
- 21. Arama yığını penceresi her zaman boş
- 22. WPF: Sistem menüsüne "Her Zaman Üstte" menü öğesini ekleyin
- 23. IntelliJ'in sistem dizini silmek güvenli midir?
- 24. Ant, jvmarg, sistem özellikleri ve tırnak işaretleri
- 25. Java özellikleri dosya editörü?
- 26. Değişkenler her zaman Java arayüzünde belirtilmelidir?
- 27. VC++ 2008 projesi her zaman "güncel değil"
- 28. NSLocalizedString bazen dize yüklenmez, her zaman değil
- 29. Flurry günlük olayları her zaman değil
- 30. Dereference null her zaman UB değil?
Sanırım bunlar anahtarlar – anshulkatta
@anshulkatta; Anahtarların her zaman var olduğunu sanırım - ama soru şu, her zaman bir şeye işaret ediyorlar mı (aklı başında?). – miku
Mıku tuşları sadece bir değer olduğunda mevcut, cevabımı kontrol edin – DevZer0