В нашем приложении мы разрешаем пользователям открывать файлы и каталоги.
Java 6 предоставляет нам ...
java.awt.Desktop.getDesktop().open(file);
, который прекрасно работает. Однако, поскольку нам необходимо обеспечить совместимость с Java 5, мы также реализуем метод открытия файлов, вызывая команду start
в cmd.exe
...
String command = "cmd.exe start ...";
Runtime.getRuntime().exec(command);
Здесь проблема проявляется. Кажется, что команда start
может обрабатывать только имена файлов 8.3 , что означает, что любые не короткие (8.3) имена файлов / каталогов приводят к сбою команды start
.
Есть ли простой способ генерировать эти короткие имена? Или любые другие обходные пути?