Что вы на самом деле имеете в виду под «Правильно ли работает формат file:/c:/foo/bar
в Unix»?
Некоторые примеры из Unix.
File file = new File("/tmp/foo.txt"); // this file exists
System.out.println(file.toURI()); // "file:/tmp/foo.txt"
Однако вы не можете, например, сделать это:
File file = new File("file:/tmp/foo.txt");
System.out.println(file.exists()); // false
(Если вам нужен экземпляр URL
, сделайте file.toURI().toURL()
, как Javadoc говорит .)
Редактировать : как насчет следующего, это поможет?
URL url = new URL("file:/tmp/foo.txt");
System.out.println(url.getFile()); // "/tmp/foo.txt"
File file = new File(url.getFile());
System.out.println(file.exists()); // true
(в основном очень близко к примеру BalusC, в котором использовалось new File(url.toURI())
.)