首先,我將提供一個很小的代碼片段在這裏:在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
像這樣的網址會報告一個「404」代碼,即使它們存在。下面的版本將這些特殊的情況下工作:
java.io.File f = new java.io.File(url.toURI());
但url.toURI()
僅在J2SE 1.5.0。所以我需要使用第一個版本。我怎樣才能使它工作?
原始網址來自哪裏? – objects 2009-06-06 00:07:50