MIME(Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型。是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式。这是我在百度百科上摘抄的一段介绍,具体大家可以去百度百科查阅。
好,我们现在就来看看如何使用java获取文件的Content-Type的值,那么按照我的习惯,先来上代码:
[java] view plain copy
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
/**
* 测试类
* @author ZY
*
*/
public class MIME_Demo {
public static void main(String[] args) throws Exception {
System.out.println(getContentType("F:/test.png"));
System.out.println(getContentType("F:/2.doc"));
System.out.println(getContentType("F:/2.csv"));
System.out.println(getContentType("F:/LiveUpdate.exe"));
System.out.println(getContentType("F:/1.txt"));
System.out.println(getContentType("F:/demo.jpg"));
}
public static String getContentType(String filename){
String type = null;
Path path = Paths.get(filename);
try {
type = Files.probeContentType(path);
} catch (IOException e) {
e.printStackTrace();
}
return type;
}
}
这段代码的执行结果为:
[plain] view plain copy
image/png
application/msword
application/vnd.ms-excel
application/x-msdownload
text/plain
image/jpeg
能够很好的获取到文件的Content-type值,但是这里给大家提个醒,由于java.nio.file.*这个包是在jdk1.7中才出现的,所以对于低版本的jdk是不能使用的!再次提醒,需要使用jdk1.7及以上!