mime type
場合によっては欠落している可能性があるファイル拡張子で推測しようとする代わりに、 を使用できます。mime type
ファイルのを確立するためのオプションは次のとおりです。
を使用してjavax.activation.MimetypesFileTypeMap
、次のようにします。
System.out.println("Mime Type of " + f.getName() + " is " +
new MimetypesFileTypeMap().getContentType(f));
使用するjava.net.URL
URL u = new URL(fileUrl);
URLConnection uc = u.openConnection();
type = uc.getContentType();
使用するApache Tika
ContentHandler contenthandler = new BodyContentHandler();
Metadata metadata = new Metadata();
metadata.set(Metadata.RESOURCE_NAME_KEY, f.getName());
Parser parser = new AutoDetectParser();
// OOXMLParser parser = new OOXMLParser();
parser.parse(is, contenthandler, metadata);
System.out.println("Mime: " + metadata.get(Metadata.CONTENT_TYPE));
System.out.println("Title: " + metadata.get(Metadata.TITLE));
System.out.println("Author: " + metadata.get(Metadata.AUTHOR));
System.out.println("content: " + contenthandler.toString());
使用するJMimeMagic
MagicMatch match = parser.getMagicMatch(f);
System.out.println(match.getMimeType()) ;
使用するmime-util
Collection<?> mimeTypes = MimeUtil.getMimeTypes(f);
ドロイドの使用
Droid (Digital Record Object Identification) is a software tool to
perform automated batch identification of file formats.
アパーチャフレームワーク
Aperture is an open source library and framework for crawling and indexing
information sources such as file systems, websites and mail boxes.
上記の各オプションの詳細については、ファイルから MIME タイプを取得するを参照してください。
この場合、次の javax.activation.MimetypesFileTypeMap
ような最初のソリューションを使用するのが最も簡単な方法です。
MimetypesFileTypeMap mtft = new MimetypesFileTypeMap();
String mimeType = mtft.getContentType(ze.getName());
System.out.println(ze.getName()+" type: "+ mimeType);