(У меня есть проблема, которую я проиллюстрировал в этом вопросе, но у меня не было правильных ответов. Я уточнил свою проблему и попытался отредактировать первоначальный вопрос, чтобы отразить это, но я полагаю, из-за того, что SO отображает неотвеченные вопросы потеряли импульс, и нет никакого способа восстановить его. Поэтому я снова публикую свой правильный вопрос).
У меня есть файл, который находится в общей сетевой папке:
"\\KUROSAVVAS-PC\Users\kuroSAVVAS\Desktop\New Folder\Warsaw Panorama.JPG"
(пробелы там есть намеренно)
Следующий код:
import java.awt.Desktop;
import java.io.File;
import java.io.IOException;
public class Test {
public static void main(String[] args) {
try {
String s = "\\\\KUROSAVVAS-PC\\Users\\kuroSAVVAS\\Desktop\\New Folder\\Warsaw Panorama.jpg";
File f = new File(s);
System.out.println(f.exists());
Desktop.getDesktop().open(f);
} catch (IOException e) {
e.printStackTrace();
}
}
}
Печатает на консоль, что файл существует ( System.out.println (f.exists ()); ), но выдает это исключение! :
java.io.IOException: Failed to open file:////KUROSAVVAS-PC/Users/kuroSAVVAS/Desktop/New%20%20%20%20%20Folder/Warsaw%20%20%20%20Panorama.jpg. Error message: The system cannot find the file specified.
at sun.awt.windows.WDesktopPeer.ShellExecute(WDesktopPeer.java:59)
at sun.awt.windows.WDesktopPeer.open(WDesktopPeer.java:36)
at java.awt.Desktop.open(Desktop.java:254)
at Test.main(Test.java:13)
Кто-нибудь знает, почему может произойти нечто подобное? Я перепробовал все, от создания URI до их декодирования ... Ничего не работает.