2014-01-21 3 views
2

im написать небольшой проект, открывающий файлы или ярлыки. В процессе я нашел проблему.Поиск файла на Java

Вопрос прост. Как я могу получить файл btw с разницей или ярлык? Какие команды java следует использовать и искать?

Пример

if (fileIsShortcut) { 
    return variable1; 
} else { 
    return variable2; 
} 

Я надеюсь, вы понимаете мою проблему.

+0

Это зависит от того, что вы имеете в виду под «ярлыком» - мы говорим о ярлыках (которые просто '.lnk' файлы), Mac Finder псевдонимы или POSIX-стиль символических ссылки ? –

+0

Windows shortcuts – Macas

+0

В Java ярлык Windows - это простой файл, чье имя заканчивается на '.lnk', поэтому, если вам все равно, является ли конкретный файл ярлыком, просто проверьте имя. Если вам нужно выяснить, что такое ярлыки _to_, тогда я не знаю о каком-либо чистом Java-способе сделать это. [Этот вопрос] (http://stackoverflow.com/q/3995097/592139) обсуждает некоторые родные библиотеки мостов, которые могут помочь в этом. –

ответ

0

использовать этот код

public static boolean isSymlink(File file) throws IOException { 
    if (file == null) 
    throw new NullPointerException("File must not be null"); 
    File canon; 
    if (file.getParent() == null) { 
    canon = file; 
    } else { 
    File canonDir = file.getParentFile().getCanonicalFile(); 
    canon = new File(canonDir, file.getName()); 
    } 
    return !canon.getCanonicalFile().equals(canon.getAbsoluteFile()); 
} 
+0

Каким-то образом он не может найти .lnk в конце. Это логическое значение возвращает false. – Macas

+0

см. Отредактированный ответ – Dima

+0

this.test = новый файл («testSh.exe - ярлык»); isSh = isSymlink (this.test); и все еще возвращает false; – Macas

Смежные вопросы