Сначала я приведу крошечный фрагмент кода здесь:В Java, как я могу избежать HTTP 404 получения файла: // URL со специальными символами в нем?
String path = "".equals(url.getPath()) ? "/" : url.getPath();
java.io.File f = new java.io.File(path);
if (!f.exists()) {
this.code = 404; // http Not Found
return;
}
Здесь введите URL-адрес является java.net.URL
, и его значение имеет следующий формат:
file:///directory1/directory2.../filename
выше код работает 90% когда он обрабатывает общие URL-адреса, но он терпит неудачу, когда в имени файла есть специальные символы. Например:
/tmp/Marissafolli/Receptionist/Administrative Assistant/Marissa's Resume.txt.txt
URL-адреса, подобные этому, будут сообщать код «404», даже если они существуют. Следующая версия будет работать для тех особых случаев:
java.io.File f = new java.io.File(url.toURI());
Но url.toURI()
только в J2SE 1.5.0. Поэтому мне нужно использовать первую версию. Как я могу заставить его работать?
Откуда берутся оригинальные url? – objects