Temel bir dosya tarayıcısı yapıyorum ve varsayılan kök dizini nasıl alacağımı öğrenmek istiyorum. java.io.File.listRoots()
'un tüm kökleri (benim için A:\, C:\, D:\, E:\, F:\, G:\, H:\, I:\, L:\ T:\, U:\, X:\, Y:\, Z:\
) verdiğini biliyorum, ancak kullanıcının öncelikle kullandığı (yani, üzerinde İşletim sistemi olan) olmasını istiyorum, böylece taramayı başlatmak için nereden başlayacağımı biliyorum. Bu herhangi bir yardım, ancak deneyebilirsiniz eğerJava'da varsayılan kök dizini alma
cevap
işletim sistemi kök bölümü alınıyor Unix
üzerine o /
hep beri Windows
üzerinde yalnızca şeydir.
Dolayısıyla, şu kod yalnızca Windows
için çalışır:
System.getenv("SystemDrive");
O SystemDrive
ortam değişkeni değerini alır. Bu her zaman işletim sisteminin kök bölümünü döndürmelidir. C:
.
emin değil:
import javax.swing.filechooser.*;
FileSystemView.getFileSystemView().getRoots()[0];
veya
FileSystemView.getFileSystemView().getHomeDirectory();
veya son kod pasajı için
System.getProperty("user.dir");
, sen alabilir null
dönene kadar getParent() kullanarak yukarı doğru gezinerek kök dizini döndürülür.
public static String rootDirectory(){
return File.listRoots()[0].getAbsolutePath();
}
, bu bir disket sürücünüz varsa, Windows'da 'A' sürücü olmamak garantilidir? – Supuhstar
@Supuhstar, Ben sadece bir test yaptım ve cevap hayır. Windows altında, köklerin listesini alfabetik sırayla döndürür, böylece "A: \" ilk olur. Ayrıca, belgelere göre (https://docs.oracle.com/javase/7/docs/api/java/io/File.html#listRoots()): "Belirli bir Java platformu sıfır veya daha fazla destekleyebilir hiyerarşik olarak düzenlenmiş dosya sistemleri. " Başka bir deyişle, kör olarak dereferencing dizini 0 bir ArrayIndexOutOfBoundsException neden olabilir. Bu cevap tamamen çapraz platform değil ve güvenilir değil. –
- 1. Joomla kök dizini nasıl bulunur?
- 2. hg - Yalnızca kök dizini yoksay.
- 3. Oturum Değeri Kök Dizini Aktarılmıyor
- 4. .NET Process.Start varsayılan dizini?
- 5. Android Studio Test Dizini Test Dizini olarak işaretle Kök
- 6. Bash'ta verilen yolun kök dizini nasıl alınır?
- 7. phonegap Varlık dosyaları için kök dizini ayarlar
- 8. qmake ve Qt kuruluş kök dizini
- 9. Telefon rehberindeki uygulama dizini alma
- 10. ChromeDriver "varsayılan profil dizini oluşturulamıyor"
- 11. PHP İşlev Dizini Varsayılan Değerleri?
- 12. Eski seçili dizini Winform'un Combo kutusuna alma
- 13. Dizideki belirli bir öğenin dizini alma
- 14. WampServer 3'teki www kök dizini nasıl değiştirilir
- 15. Eclipse - Kök dizini git deposundan hariç tutuluyor mu?
- 16. İplik varsayılan paketleri dizini nasıl değiştirilir?
- 17. Eclipse: Varsayılan birim sınama dizini nasıl yapılandırılır
- 18. Visual Studio javaScript varsayılan dizini NuGet ile
- 19. Yazıcı ile javada dizileri kullanma
- 20. Kök olarak belirli bir dizini kullanarak bir dizini sıkıştırmak için komut
- 21. Geçerli çalışma dizini dışındaki dosyaların tam yolunu alma [java]
- 22. Kök
- 23. Kök
- 24. Kullanıcı uygulamadan çıktığında kök etkinliğini geri alma nasıl temizlenir?
- 25. Kök operatörünün ("~") göreceli yolu,
- 26. Varsayılan/tercih edilen dosya uzantısını alma
- 27. Tarayıcılar ve varsayılan güvenilir kök sertifika yetkilileri listesi
- 28. Kök dizinde üst dizin listesi
- 29. Uçucu değişken, javada statik olarak tanımlanabilir mi?
- 30. Salatalık javada senaryo adı nasıl alınır?
Linkler ikisini de bozdu – IanGilham
@IanGilham Başka bir soruya yorum yapmak istediğinizi düşünüyorum – Supuhstar
Evet, kötüyüm. Kastettiğim birini bulmuş gibisin. – IanGilham