import java.net.FileNameMap;
import java.net.URLConnection;
public class Main {
/**
* A static reference to a file name map. When loaded, this class will atempt to
* use the sun.net.www.MimeTable to load a filename map. If that class isn't
* available a default filename map, consisting of the most common types, will
* be created.
*/
protected static FileNameMap fileNameMap = URLConnection.getFileNameMap();;
/**
* Gets the content type for the specified file. This method uses the static
* FileNameMap member (@see #fileNameMap) to get the conten type for a certain
* file. If no type could be found, "application/octet-stream" will be returned.
* <br>
* <br>
* Subclasses can override this method to provide a better implementation.
*
* @param file the name of the file to get the contenttype for.
*
* @return the content type.
*/
public static String getContentType(String file) {
String foundContentType = null;
file = file.trim();
if (fileNameMap != null)
foundContentType = fileNameMap.getContentTypeFor(file);
if (foundContentType != null)
return foundContentType;
else
return "application/octet-stream";
}
public static void main(String[] args) {
System.out.println(
getContentType("C:\\Users\\Administrator\\eclipse-workspace\\JavaHTTPServer\\webroot\\index.html"));
System.out.println(
getContentType("C:\\Users\\Administrator\\eclipse-workspace\\JavaHTTPServer\\webroot\\Sunset.jpg"));
}
}
text/html
image/jpeg
该代码片段展示了如何使用Java的URLConnection获取文件的Content-Type。如果找不到特定类型的Content-Type,则返回默认的'application/octet-stream'。示例中检测了'index.html'和'Sunset.jpg'的Content-Type。

4396

被折叠的 条评论
为什么被折叠?



