Я использую Windows 10, последний JDK.
System.out.println(new File("F:\\some\\path\\to\\file.wav").getAbsolutePath());
Это печатает:
F:\some\path\project_folder\F:\some\path\to\file.wav
!!!
Не могли бы вы объяснить, что я здесь ошибаюсь? Я пытался даже
new File(URI.create("file:///F:/some/path/to/file.wav"))
но дает мне
/F:/some/path/to/file.wav
(ведущий / делает неправильно)
Попытка только с двумя слешами file://F:/some/path/to/file.wav
Я получаю исключение
java.lang.IllegalArgumentException: URI has an authority component
UPDATE
Это происходит только тогда, когда я имею в виду файлы в разделе F:\
(кстати, сам проект также находится в F:\
). Попытка обратиться к C:\
, который является системным диском, работает нормально.
ОБНОВЛЕНИЕ 2
Оказывается, между файлом и проектом есть общие родительские каталоги (F:\some\path\
в моем примере). Может в этом причина ?!
Я пытался new File("..\\to\\file.wav")
, но также печатал неправильно F:\some\path\project_folder\..\to\file.wav