4 回答

TA贡献1836条经验 获得超4个赞
mimeType = file.toURL().openConnection().getContentType();
mimeType= URLConnection.guessContentTypeFromName(file.getName());
InputStream is = new BufferedInputStream(new FileInputStream(file));mimeType = URLConnection.guessContentTypeFromStream(is); //...close stream

TA贡献1796条经验 获得超7个赞
JAFAPI是JDK 6的一部分。看javax.activation包裹。
最有趣的类是javax.activation.MimeType-一个实际的MIME型保持架-和javax.activation.MimetypesFileTypeMap-类,其实例可以将MIME类型解析为文件的字符串:
String fileName = "/path/to/file";
MimetypesFileTypeMap mimeTypesMap = new MimetypesFileTypeMap();
// only by file name
String mimeType = mimeTypesMap.getContentType(fileName);
// or by actual File instance
File file = new File(fileName);
mimeType = mimeTypesMap.getContentType(file);

TA贡献1804条经验 获得超8个赞
你只需要三行代码:
File file = new File("/path/to/file");Tika tika = new Tika();System.out.println(tika.detect(file));
如果您有一个Groovy控制台,只需粘贴并运行以下代码即可:
@Grab('org.apache.tika:tika-core:1.14')import org.apache.tika.Tika;def tika = new Tika()def file = new File("/path/to/file")println tika.detect(file)
记住,它的API很丰富,它可以解析“任何东西”。在TIKA-CORE 1.14中,您有:
String detect(byte[] prefix)String detect(byte[] prefix, String name)String detect(File file)String detect(InputStream stream)String detect(InputStream stream, Metadata metadata)String detect(InputStream stream, String name)String detect(Path path)String detect(String name)String detect(URL url)
添加回答
举报