From: Svjatoslav Agejenko Date: Sat, 2 Nov 2013 21:01:18 +0000 (+0200) Subject: better quessing of user desktop directory X-Git-Tag: svjatoslavcommons-1.8~126 X-Git-Url: http://www2.svjatoslav.eu/gitweb/?a=commitdiff_plain;h=f2f5769996256492b3cd430a4c57b1317582b340;p=svjatoslav_commons.git better quessing of user desktop directory --- diff --git a/src/main/java/eu/svjatoslav/commons/file/CommonPathResolver.java b/src/main/java/eu/svjatoslav/commons/file/CommonPathResolver.java index 1fa1cfd..d3c1f9f 100644 --- a/src/main/java/eu/svjatoslav/commons/file/CommonPathResolver.java +++ b/src/main/java/eu/svjatoslav/commons/file/CommonPathResolver.java @@ -13,24 +13,43 @@ import java.io.File; public class CommonPathResolver { + public static File desktopFile; + + static final String[] desktopNames = new String[] { "Tafelblad", "المكتب", + "Masa Üstü", "Сталец", "Десктоп", "ডেস্কটপ", "Desktop", + "Escriptori", "Prostředí pracovní plochy", "Penbwrdd", + "Skrivebord", "Επιφάνεια εργασίας", "Escritorio", "Töölaud", + "Mahaigaina", "Työpöytä", "Bureau", "Deasc", "ડૅસ્કટોપ", + "डेस्कटॉप", "Radna površina", "Munkaasztal", "デスクトップ", "დესკტოპი", + "데스크탑", "Darbastalis", "Дэлгэц", "Skrivebord", "Teseke", "ਵਿਹੜਾ", + "Pulpit", "Ambiente de Trabalho", "Área de Trabalho", + "Рабочий стол", "Pracovná plocha", "Hapësira e Punës", + "Радна површ", "Radna površ", "Skrivbord", "கணிமேசை", "Мизи корӣ", + "พื้นโต๊ะ", "Masaüstü", "Стільниця", "桌面", "Isiga-nyezi" }; + /** * This method tries to guess user desktop directory. Implementation is * pretty lousy. Need to improve it some day. */ public static File getDesktopDirectory() { - String desktopPath = System.getProperty("user.home") + "/Desktop"; - File desktopFile = new File(desktopPath); - if (desktopFile.exists()) + if (desktopFile != null) return desktopFile; - desktopPath = System.getProperty("user.home") + "/Рабочий стол"; + final String userHomePath = System.getProperty("user.home"); - desktopFile = new File(desktopPath); - if (desktopFile.exists()) - return desktopFile; + for (final String desktopName : desktopNames) { + + final String desktopPath = userHomePath + "/" + desktopName; + + final File possibleDesktopFile = new File(desktopPath); + if (desktopFile.exists()) { + desktopFile = possibleDesktopFile; + return desktopFile; + } + } - return null; + throw new RuntimeException("Cannot autodetect user desktop directory."); } public static File getHomeDirectory() {