java.net.FileNameMap getContentType

该代码片段展示了如何使用Java的URLConnection获取文件的Content-Type。如果找不到特定类型的Content-Type,则返回默认的'application/octet-stream'。示例中检测了'index.html'和'Sunset.jpg'的Content-Type。
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
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值