2010-06-15 14 views
6

Java'da bir klasör ve dosya ağacı oluşturuyorum. Windows hem OSX aşağıdaki kodla sistem simgeleri ve adını döndürür: Unix sistemleri simgeler ve adını almak için herhangi bir olasılıkJava klasörünü ve dosya simgelerini ve isimlerini java'da nasıl edinebilirim?

new JFileChooser().getIcon(File f); 
new JFileChooser().getName(File f); 

var mı ?. Bir sistem komutu da iyi olurdu.

Teşekkürler.

+0

Sorun: Çevreye bağlı olduğundan şüpheleniyorum - Gnome mı? KDE? XFCE? Başka, daha az yaygın çevre? Bu nedenle, bir çapraz masaüstü çözümü, adil bir iş ve bakım gerektiriyor - ve Sun bunu görmüyorum. Ancak bundan emin olamaz. –

+0

En yaygın ekran yöneticileri için bir çözüm yeterli olacaktır. –

cevap

2

böylece bir cevap olarak gönderme, bir yorum ekleyemezsiniz:

https://stackoverflow.com/questions/1629172/how-do-you-get-the-icon-mime-type- and-application-associated-with-a-file-in-the

göz at Tüm bu cevaplar, ellerinizi C veya C++ 'da kirletmenizi sağlayacaktır. Java hiçbir zaman gerçek görünüm ve hisle başa çıkmadı ...

+0

C veya C++ içinde bir yürütülebilir dosya oluşturmadan bunu çözmeye çalışıyorum. Bir cevap, xdg-mime'den bahsetti. İlk önce bunu deneyeceğim. –

0
ben test etmedi ama bu kod büyük sistemde çalışmasına

:

FileSystemView view = FileSystemView.getFileSystemView(); 
Icon icon = view.getSystemIcon(file); 
+1

Hayır. Bunu zaten denedim. Sadece windows sistemi için bazı simgeleri döndürür, OSX ve unix için UI'nin varsayılan dizin ve klasör simgesini alırsınız. Bu yüzden pencereler ve OSX için dosya ve klasör simgeleri döndüren yeni JFileChooser(). GetIcon (Dosya f) 'ye geçtim. –

0

Her zaman üzerinde çalıştığınız sistemin adını alabilirsiniz, Java yerel bir yürütme yapmanıza ve bunun sonuçlarını yakalamanıza olanak sağlar (komut satırı, unix tatları, Runtime.exec ("uname -a");) daha sonra çıktı akışındaki sonuçları ayrıştırır.

, bir unix çekirdeği üzerine GUI katmanlarının farklı uygulamalar söz vardır söyledikten ve dosya türleri ve simge görüntüleri arasında eşleştirmeler alınırken bir standart yol değil yoktur. Bir pencere yöneticisine özel bir çözüm yapabilir, ancak hangi wm'nin kullanılmakta olduğuna bağlı olarak algoritmanızı değiştirmeniz gerekebilir.

+0

Şu anda bir pencere yöneticisi özel bir uygulama üzerinde çalışıyor. Kullanmaya çalıştığım xdg-mime kullanıcı336851 bağlantısında bir cevap. Şimdiye kadar sadece bir masaüstü dosyası alıyorum (mutlak yol yok, sadece isim). Nasıl devam edeceğine dair bir fikrin var mı? –

İlgili konular