우선은 여기에 작은 코드 제공합니다 : 여기Java에서 HTTP 404에 특수 문자가 포함 된 file : // 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