/* * Copyright 2013 Simon Thiel * * This file is part of SitJar. * * SitJar is free software: you can redistribute it and/or modify * it under the terms of the GNU LESSER GENERAL PUBLIC LICENSE as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * SitJar is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with SitJar. If not, see <http://www.gnu.org/licenses/lgpl.txt>. */ /* * Description of MimeTypes * * @author Simon Thiel * @date 22.06.2012 */ package sit.web; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; /** * MimeTypes * */ public class MimeTypes { /* * static map */ private final static Map<String, String> mimeTypes; static { HashMap<String, String> myMimeTypes = new HashMap(); myMimeTypes.put("", "content/unknown"); myMimeTypes.put(".3dm", "x-world/x-3dmf"); // myMimeTypes.put(".3dmf", "x-world/x-3dmf"); // myMimeTypes.put(".a", "application/octet-stream"); myMimeTypes.put(".aab", "application/x-authorware-bin"); myMimeTypes.put(".aam", "application/x-authorware-map"); myMimeTypes.put(".aas", "application/x-authorware-seg"); myMimeTypes.put(".abc", "text/vnd.abc"); myMimeTypes.put(".acgi", "text/html"); myMimeTypes.put(".afl", "video/animaflex"); myMimeTypes.put(".ai", "application/postscript"); // myMimeTypes.put(".aif", "audio/x-aiff"); myMimeTypes.put(".aifc", "audio/x-aiff"); myMimeTypes.put(".aiff", "audio/x-aiff"); myMimeTypes.put(".aim", "application/x-aim"); myMimeTypes.put(".aip", "text/x-audiosoft-intra"); myMimeTypes.put(".ani", "application/x-navi-animation"); myMimeTypes.put(".aos", "application/x-nokia-9000-communicator-add-on-software"); myMimeTypes.put(".aps", "application/mime"); myMimeTypes.put(".arc", "application/octet-stream"); myMimeTypes.put(".arj", "application/octet-stream"); myMimeTypes.put(".art", "image/x-jg"); myMimeTypes.put(".asd", "application/astound"); // myMimeTypes.put(".asf", "video/x-ms-asf"); myMimeTypes.put(".asm", "text/x-asm"); myMimeTypes.put(".asn", "application/astound"); myMimeTypes.put(".asp", "text/asp"); myMimeTypes.put(".asx", "video/x-ms-asf"); myMimeTypes.put(".au", "audio/basic"); myMimeTypes.put(".avi", "video/x-msvideo"); myMimeTypes.put(".avs", "video/avs-video"); myMimeTypes.put(".bcpio", "application/x-bcpio"); // BCPIO-File myMimeTypes.put(".bin", "application/octet-stream"); // myMimeTypes.put(".bm", "image/bmp"); myMimeTypes.put(".bmp", "image/bmp"); myMimeTypes.put(".boo", "application/book"); myMimeTypes.put(".book", "application/book"); myMimeTypes.put(".boz", "application/x-bzip2"); myMimeTypes.put(".bsh", "application/x-bsh"); myMimeTypes.put(".bz", "application/x-bzip"); myMimeTypes.put(".bz2", "application/x-bzip2"); myMimeTypes.put(".c", "text/plain"); myMimeTypes.put(".c++", "text/plain"); myMimeTypes.put(".cab", "application/x-shockwave-flash"); myMimeTypes.put(".cat", "application/vnd.ms-pki.seccat"); myMimeTypes.put(".cc", "text/plain"); myMimeTypes.put(".ccad", "application/clariscad"); myMimeTypes.put(".cco", "application/x-cocoa"); myMimeTypes.put(".cdf", "application/x-cdf"); myMimeTypes.put(".cer", "application/x-x509-ca-cert"); myMimeTypes.put(".cha", "application/x-chat"); myMimeTypes.put(".chat", "application/x-chat"); myMimeTypes.put(".chm", "application/mshelp"); myMimeTypes.put(".cht", "audio/x-dspeeh"); myMimeTypes.put(".class", "application/octet-stream"); myMimeTypes.put(".cod", "image/cis-cod"); // CIS-Cod-File myMimeTypes.put(".com", "application/octet-stream"); myMimeTypes.put(".conf", "text/plain"); myMimeTypes.put(".cpio", "application/x-cpio"); // CPIO-File myMimeTypes.put(".cpp", "text/plain"); myMimeTypes.put(".cpt", "application/mac-compactpro"); myMimeTypes.put(".crl", "application/pkcs-crl"); myMimeTypes.put(".crt", "application/x-x509-ca-cert"); myMimeTypes.put(".csh", "application/x-csh"); // C-Shellscript-File myMimeTypes.put(".css", "text/css"); // CSS myMimeTypes.put(".csv", "text/comma-separated-values"); myMimeTypes.put(".cxx", "text/plain"); myMimeTypes.put(".dcr", "application/x-director"); // myMimeTypes.put(".deepv", "application/x-deepv"); myMimeTypes.put(".def", "text/plain"); myMimeTypes.put(".der", "application/x-x509-ca-cert"); myMimeTypes.put(".dif", "video/x-dv"); myMimeTypes.put(".dir", "application/x-director"); myMimeTypes.put(".dl", "video/dl"); myMimeTypes.put(".dll", "application/octet-stream"); myMimeTypes.put(".doc", "application/msword"); // myMimeTypes.put(".dot", "application/msword"); myMimeTypes.put(".dp", "application/commonground"); myMimeTypes.put(".drw", "application/drafting"); myMimeTypes.put(".dump", "application/octet-stream"); myMimeTypes.put(".dus", "audio/x-dspeeh"); myMimeTypes.put(".dv", "video/x-dv"); myMimeTypes.put(".dvi", "application/x-dvi"); myMimeTypes.put(".dwf", "drawing/x-dwf"); myMimeTypes.put(".dwg", "application/acad"); myMimeTypes.put(".dxf", "application/dxf"); myMimeTypes.put(".dxr", "application/x-director"); myMimeTypes.put(".el", "text/x-script.elisp"); myMimeTypes.put(".elc", "application/x-bytecode.elisp"); myMimeTypes.put(".env", "application/x-envoy"); myMimeTypes.put(".eps", "application/postscript"); myMimeTypes.put(".es", "audio/echospeech"); // Echospeed-File myMimeTypes.put(".etx", "text/x-setext"); // SeText-File myMimeTypes.put(".evy", "application/x-envoy"); // Envoy-File myMimeTypes.put(".exe", "application/octet-stream"); myMimeTypes.put(".f", "text/plain"); myMimeTypes.put(".f77", "text/x-fortran"); myMimeTypes.put(".f90", "text/plain"); myMimeTypes.put(".fdf", "application/vnd.fdf"); myMimeTypes.put(".fh4", "image/x-freehand"); // myMimeTypes.put(".fh5", "image/x-freehand"); // myMimeTypes.put(".fif", "image/fif"); // FIF-File myMimeTypes.put(".fli", "video/fli"); myMimeTypes.put(".flo", "image/florian"); myMimeTypes.put(".flx", "text/vnd.fmi.flexstor"); myMimeTypes.put(".fmf", "video/x-atomic3d-feature"); myMimeTypes.put(".for", "text/plain"); myMimeTypes.put(".fpx", "image/vnd.fpx"); myMimeTypes.put(".frl", "application/freeloader"); myMimeTypes.put(".funk", "audio/make"); myMimeTypes.put(".g", "text/plain"); myMimeTypes.put(".g3", "image/g3fax"); myMimeTypes.put(".gif", "image/gif"); myMimeTypes.put(".gl", "video/gl"); myMimeTypes.put(".gsd", "audio/x-gsm"); myMimeTypes.put(".gsm", "audio/x-gsm"); myMimeTypes.put(".gsp", "application/x-gsp"); myMimeTypes.put(".gss", "application/x-gss"); myMimeTypes.put(".gtar", "application/x-gtar"); myMimeTypes.put(".gz", "application/gzip"); // GNU myMimeTypes.put(".gzip", "application/x-gzip"); myMimeTypes.put(".h", "text/plain"); myMimeTypes.put(".hdf", "application/x-hdf"); myMimeTypes.put(".help", "application/x-helpfile"); myMimeTypes.put(".hgl", "application/vnd.hp-hpgl"); myMimeTypes.put(".hh", "text/plain"); myMimeTypes.put(".hlb", "text/x-script"); myMimeTypes.put(".hlp", "application/mshelp"); // myMimeTypes.put(".hpg", "application/vnd.hp-hpgl"); myMimeTypes.put(".hqx", "application/binhex"); myMimeTypes.put(".hta", "application/hta"); myMimeTypes.put(".htc", "text/x-component"); myMimeTypes.put(".htm", "text/html"); // myMimeTypes.put(".html", "text/html"); myMimeTypes.put(".htmls", "text/html"); myMimeTypes.put(".htt", "text/webviewhtml"); myMimeTypes.put(".htx", "text/html"); myMimeTypes.put(".ice", "x-conference/x-cooltalk"); myMimeTypes.put(".ico", "image/x-icon"); myMimeTypes.put(".idc", "text/plain"); myMimeTypes.put(".ief", "image/ief"); myMimeTypes.put(".iefs", "image/ief"); myMimeTypes.put(".iges", "application/iges"); myMimeTypes.put(".igs", "application/iges"); myMimeTypes.put(".ima", "application/x-ima"); myMimeTypes.put(".imap", "application/x-httpd-imap"); myMimeTypes.put(".inf", "application/inf"); myMimeTypes.put(".ins", "application/x-internett-signup"); myMimeTypes.put(".ip", "application/x-ip2"); myMimeTypes.put(".isu", "video/x-isvideo"); myMimeTypes.put(".it", "audio/it"); myMimeTypes.put(".iv", "application/x-inventor"); myMimeTypes.put(".ivr", "i-world/i-vrml"); myMimeTypes.put(".ivy", "application/x-livescreen"); myMimeTypes.put(".jam", "audio/x-jam"); myMimeTypes.put(".jav", "text/plain"); myMimeTypes.put(".java", "text/plain"); myMimeTypes.put(".jcm", "application/x-java-commerce"); myMimeTypes.put(".jfif", "image/jpeg"); myMimeTypes.put(".jfif-tbnl", "image/jpeg"); myMimeTypes.put(".jpe", "image/jpeg"); myMimeTypes.put(".jpeg", "image/jpeg"); // myMimeTypes.put(".jpg", "image/jpeg"); myMimeTypes.put(".jps", "image/x-jps"); myMimeTypes.put(".js", "text/javascript"); // JavaScript-File myMimeTypes.put(".json", "application/json"); // Json myMimeTypes.put(".jut", "image/jutvision"); myMimeTypes.put(".kar", "audio/midi"); myMimeTypes.put(".ksh", "application/x-ksh"); myMimeTypes.put(".la", "audio/nspaudio"); myMimeTypes.put(".lam", "audio/x-liveaudio"); myMimeTypes.put(".latex", "application/x-latex"); myMimeTypes.put(".lha", "application/octet-stream"); myMimeTypes.put(".lhx", "application/octet-stream"); myMimeTypes.put(".list", "text/plain"); myMimeTypes.put(".lma", "audio/nspaudio"); myMimeTypes.put(".log", "text/plain"); myMimeTypes.put(".lst", "text/plain"); myMimeTypes.put(".lsx", "text/x-la-asf"); myMimeTypes.put(".ltx", "application/x-latex"); myMimeTypes.put(".lzh", "application/octet-stream"); myMimeTypes.put(".lzx", "application/octet-stream"); myMimeTypes.put(".m", "text/plain"); myMimeTypes.put(".m1v", "video/mpeg"); myMimeTypes.put(".m2a", "audio/mpeg"); myMimeTypes.put(".m2v", "video/mpeg"); myMimeTypes.put(".m3u", "audio/x-mpequrl"); myMimeTypes.put(".man", "application/x-troff-man"); myMimeTypes.put(".map", "application/x-navimap"); myMimeTypes.put(".mar", "text/plain"); myMimeTypes.put(".mbd", "application/mbedlet"); myMimeTypes.put(".mc$", "application/x-magic-cap-package-1.0"); myMimeTypes.put(".mcd", "application/mcad"); myMimeTypes.put(".mcf", "image/vasa"); myMimeTypes.put(".mcp", "application/netmc"); myMimeTypes.put(".me", "application/x-troff-me"); myMimeTypes.put(".mht", "message/rfc822"); myMimeTypes.put(".mhtml", "message/rfc822"); myMimeTypes.put(".mid", "audio/midi"); myMimeTypes.put(".midi", "audio/midi"); myMimeTypes.put(".mif", "application/mif"); // FrameMaker myMimeTypes.put(".mime", "message/rfc822"); myMimeTypes.put(".mjf", "audio/x-vnd.audioexplosion.mjuicemediafile"); myMimeTypes.put(".mjpg", "video/x-motion-jpeg"); myMimeTypes.put(".mm", "application/base64"); myMimeTypes.put(".mme", "application/base64"); myMimeTypes.put(".mod", "audio/mod"); myMimeTypes.put(".moov", "video/quicktime"); myMimeTypes.put(".mov", "video/quicktime"); // myMimeTypes.put(".movie", "video/x-sgi-movie"); myMimeTypes.put(".mp2", "audio/mpeg"); myMimeTypes.put(".mp3", "audio/mpeg3"); myMimeTypes.put(".mpa", "audio/mpeg"); myMimeTypes.put(".mpc", "application/x-project"); myMimeTypes.put(".mpe", "video/mpeg"); // myMimeTypes.put(".mpeg", "video/mpeg"); // myMimeTypes.put(".mpg", "video/mpeg"); // myMimeTypes.put(".mp4", "video/mp4"); // myMimeTypes.put(".mpga", "audio/mpeg"); myMimeTypes.put(".mpp", "application/vnd.ms-project"); myMimeTypes.put(".mpt", "application/x-project"); myMimeTypes.put(".mpv", "application/x-project"); myMimeTypes.put(".mpx", "application/x-project"); myMimeTypes.put(".mrc", "application/marc"); myMimeTypes.put(".ms", "application/x-troff-ms"); myMimeTypes.put(".mv", "video/x-sgi-movie"); myMimeTypes.put(".my", "audio/make"); myMimeTypes.put(".mzz", "application/x-vnd.audioexplosion.mzz"); myMimeTypes.put(".nap", "image/naplps"); myMimeTypes.put(".naplps", "image/naplps"); myMimeTypes.put(".nc", "application/x-netcdf"); myMimeTypes.put(".ncm", "application/vnd.nokia.configuration-message"); myMimeTypes.put(".niff", "image/x-niff"); myMimeTypes.put(".nix", "application/x-mix-transfer"); myMimeTypes.put(".nsc", "application/x-nschat"); // NS myMimeTypes.put(".nvd", "application/x-navidoc"); myMimeTypes.put(".o", "application/octet-stream"); myMimeTypes.put(".oda", "application/oda"); // Oda-File myMimeTypes.put(".omc", "application/x-omc"); myMimeTypes.put(".omcd", "application/x-omcdatamaker"); myMimeTypes.put(".omcr", "application/x-omcregerator"); myMimeTypes.put(".p", "text/x-pascal"); myMimeTypes.put(".p10", "application/pkcs10"); myMimeTypes.put(".p12", "application/pkcs-12"); myMimeTypes.put(".p7a", "application/x-pkcs7-signature"); myMimeTypes.put(".p7c", "application/pkcs7-mime"); myMimeTypes.put(".p7m", "application/pkcs7-mime"); myMimeTypes.put(".p7r", "application/x-pkcs7-certreqresp"); myMimeTypes.put(".p7s", "application/pkcs7-signature"); myMimeTypes.put(".part", "application/pro_eng"); myMimeTypes.put(".pas", "text/pascal"); myMimeTypes.put(".pbm", "image/x-portable-bitmap"); // PBM myMimeTypes.put(".pcl", "application/vnd.hp-pcl"); myMimeTypes.put(".pct", "image/x-pict"); myMimeTypes.put(".pcx", "image/x-pcx"); myMimeTypes.put(".pdb", "chemical/x-pdb"); myMimeTypes.put(".pdf", "application/pdf"); // Adobe myMimeTypes.put(".pfunk", "audio/make"); myMimeTypes.put(".pgm", "image/x-portable-graymap"); // PBM myMimeTypes.put(".php", "application/x-httpd-php"); // myMimeTypes.put(".phtml", "application/x-httpd-php"); myMimeTypes.put(".pic", "image/pict"); myMimeTypes.put(".pict", "image/pict"); myMimeTypes.put(".pkg", "application/x-newton-compatible-pkg"); myMimeTypes.put(".pko", "application/vnd.ms-pki.pko"); myMimeTypes.put(".pl", "text/plain"); myMimeTypes.put(".plx", "application/x-pixclscript"); myMimeTypes.put(".pm", "image/x-xpixmap"); myMimeTypes.put(".pm4", "application/x-pagemaker"); myMimeTypes.put(".pm5", "application/x-pagemaker"); myMimeTypes.put(".png", "image/png"); // PNG-File myMimeTypes.put(".pnm", "image/x-portable-anymap"); // PBM myMimeTypes.put(".pot", "application/mspowerpoint"); myMimeTypes.put(".pov", "model/x-pov"); myMimeTypes.put(".ppa", "application/vnd.ms-powerpoint"); myMimeTypes.put(".ppm", "image/x-portable-pixmap"); // PBM myMimeTypes.put(".pps", "application/mspowerpoint"); myMimeTypes.put(".ppt", "application/mspowerpoint"); // myMimeTypes.put(".ppz", "application/mspowerpoint"); myMimeTypes.put(".pre", "application/x-freelance"); myMimeTypes.put(".prt", "application/pro_eng"); myMimeTypes.put(".ps", "application/postscript"); myMimeTypes.put(".psd", "application/octet-stream"); myMimeTypes.put(".ptlk", "application/listenup"); // Listenup-File myMimeTypes.put(".pvu", "paleovu/x-pv"); myMimeTypes.put(".pwz", "application/vnd.ms-powerpoint"); myMimeTypes.put(".py", "text/x-script.phyton"); myMimeTypes.put(".pyc", "applicaiton/x-bytecode.python"); myMimeTypes.put(".qcp", "audio/vnd.qcelp"); myMimeTypes.put(".qd3", "x-world/x-3dmf"); myMimeTypes.put(".qd3d", "x-world/x-3dmf"); myMimeTypes.put(".qif", "image/x-quicktime"); myMimeTypes.put(".qt", "video/quicktime"); // myMimeTypes.put(".qtc", "video/x-qtc"); myMimeTypes.put(".qti", "image/x-quicktime"); myMimeTypes.put(".qtif", "image/x-quicktime"); myMimeTypes.put(".ra", "audio/x-pn-realaudio"); // myMimeTypes.put(".ram", "audio/x-pn-realaudio"); // myMimeTypes.put(".ras", "image/cmu-raster"); myMimeTypes.put(".rast", "image/cmu-raster"); myMimeTypes.put(".rexx", "text/x-script.rexx"); myMimeTypes.put(".rf", "image/vnd.rn-realflash"); myMimeTypes.put(".rgb", "image/x-rgb"); // RGB-File myMimeTypes.put(".rm", "audio/x-pn-realaudio"); myMimeTypes.put(".rmi", "audio/mid"); myMimeTypes.put(".rmm", "audio/x-pn-realaudio"); myMimeTypes.put(".rmp", "audio/x-pn-realaudio"); myMimeTypes.put(".rng", "application/ringing-tones"); myMimeTypes.put(".rnx", "application/vnd.rn-realplayer"); myMimeTypes.put(".roff", "application/x-troff"); myMimeTypes.put(".rp", "image/vnd.rn-realpix"); myMimeTypes.put(".rpm", "audio/x-pn-realaudio-plugin"); // RealAudio-Plugin-File myMimeTypes.put(".rt", "text/richtext"); myMimeTypes.put(".rtf", "text/richtext"); myMimeTypes.put(".rtx", "text/richtext"); // Richtext-File myMimeTypes.put(".rv", "video/vnd.rn-realvideo"); myMimeTypes.put(".s", "text/x-asm"); myMimeTypes.put(".s3m", "audio/s3m"); myMimeTypes.put(".saveme", "application/octet-stream"); myMimeTypes.put(".sbk", "application/x-tbook"); myMimeTypes.put(".sca", "application/x-supercard"); // Supercard-File myMimeTypes.put(".scm", "video/x-scm"); myMimeTypes.put(".sdml", "text/plain"); myMimeTypes.put(".sdp", "application/sdp"); myMimeTypes.put(".sdr", "application/sounder"); myMimeTypes.put(".sea", "application/sea"); myMimeTypes.put(".set", "application/set"); myMimeTypes.put(".sgm", "text/sgml"); myMimeTypes.put(".sgml", "text/sgml"); myMimeTypes.put(".sh", "application/x-sh"); myMimeTypes.put(".shar", "application/x-shar"); myMimeTypes.put(".shtml", "text/html"); myMimeTypes.put(".sid", "audio/x-psid"); myMimeTypes.put(".sit", "application/x-stuffit"); // Stuffit-File myMimeTypes.put(".skd", "application/x-koan"); myMimeTypes.put(".skm", "application/x-koan"); myMimeTypes.put(".skp", "application/x-koan"); myMimeTypes.put(".skt", "application/x-koan"); myMimeTypes.put(".sl", "application/x-seelogo"); myMimeTypes.put(".smi", "application/smil"); myMimeTypes.put(".smil", "application/smil"); myMimeTypes.put(".smp", "application/studiom"); // Studiom-File myMimeTypes.put(".snd", "audio/basic"); myMimeTypes.put(".sol", "application/solids"); myMimeTypes.put(".spc", "text/x-speech"); myMimeTypes.put(".spl", "application/futuresplash"); // Flash myMimeTypes.put(".spr", "application/x-sprite"); myMimeTypes.put(".sprite", "application/x-sprite"); myMimeTypes.put(".src", "application/x-wais-source"); // WAIS myMimeTypes.put(".ssi", "text/x-server-parsed-html"); myMimeTypes.put(".ssm", "application/streamingmedia"); myMimeTypes.put(".sst", "application/vnd.ms-pki.certstore"); myMimeTypes.put(".step", "application/step"); myMimeTypes.put(".stl", "application/sla"); myMimeTypes.put(".stp", "application/step"); myMimeTypes.put(".stream", "audio/x-qt-stream"); // Quicktime-Streaming-File myMimeTypes.put(".sv4cpio", "application/x-sv4cpio"); // CPIO-File myMimeTypes.put(".sv4crc", "application/x-sv4crc"); // CPIO-File myMimeTypes.put(".svf", "image/x-dwg"); myMimeTypes.put(".svr", "application/x-world"); myMimeTypes.put(".swf", "application/x-shockwave-flash"); // myMimeTypes.put(".t", "application/x-troff"); // myMimeTypes.put(".talk", "text/x-speech"); // myMimeTypes.put(".tar", "application/x-tar"); // tar-Archiv-files myMimeTypes.put(".tbk", "application/toolbook"); // Toolbook-File myMimeTypes.put(".tcl", "application/x-tcl"); // TCL myMimeTypes.put(".tcsh", "text/x-script.tcsh"); myMimeTypes.put(".tex", "application/x-tex"); // TeX-File myMimeTypes.put(".texi", "application/x-texinfo"); myMimeTypes.put(".texinfo", "application/x-texinfo"); // myMimeTypes.put(".text", "text/plain"); myMimeTypes.put(".tgz", "application/x-compressed"); myMimeTypes.put(".tif", "image/tiff"); // myMimeTypes.put(".tiff", "image/tiff"); // myMimeTypes.put(".tr", "application/x-troff"); myMimeTypes.put(".troff", "application/x-troff"); myMimeTypes.put(".tsi", "audio/tsp-audio"); myMimeTypes.put(".tsp", "application/dsptype"); // TSP-File myMimeTypes.put(".tsv", "text/tab-separated-values"); // tabulator-... myMimeTypes.put(".turbot", "image/florian"); myMimeTypes.put(".txt", "text/plain"); // myMimeTypes.put(".uil", "text/x-uil"); myMimeTypes.put(".uni", "text/uri-list"); myMimeTypes.put(".unis", "text/uri-list"); myMimeTypes.put(".unv", "application/i-deas"); myMimeTypes.put(".uri", "text/uri-list"); myMimeTypes.put(".uris", "text/uri-list"); myMimeTypes.put(".ustar", "application/x-ustar"); myMimeTypes.put(".uu", "application/octet-stream"); myMimeTypes.put(".uue", "text/x-uuencode"); myMimeTypes.put(".vcd", "application/x-cdlink"); myMimeTypes.put(".vcs", "text/x-vcalendar"); myMimeTypes.put(".vda", "application/vda"); myMimeTypes.put(".vdo", "video/vdo"); myMimeTypes.put(".vew", "application/groupwise"); myMimeTypes.put(".viv", "video/vnd.vivo"); // myMimeTypes.put(".vivo", "video/vivo"); myMimeTypes.put(".vmd", "application/vocaltec-media-desc"); myMimeTypes.put(".vmf", "application/vocaltec-media-file"); myMimeTypes.put(".voc", "audio/voc"); myMimeTypes.put(".vos", "video/vosaic"); myMimeTypes.put(".vox", "audio/voxware"); // Vox-File myMimeTypes.put(".vqe", "audio/x-twinvq-plugin"); myMimeTypes.put(".vqf", "audio/x-twinvq"); myMimeTypes.put(".vql", "audio/x-twinvq-plugin"); myMimeTypes.put(".vrml", "model/vrml"); myMimeTypes.put(".vrt", "x-world/x-vrt"); myMimeTypes.put(".vsd", "application/x-visio"); myMimeTypes.put(".vst", "application/x-visio"); myMimeTypes.put(".vsw", "application/x-visio"); myMimeTypes.put(".vts", "workbook/formulaone"); // myMimeTypes.put(".vtts", "workbook/formulaone"); // myMimeTypes.put(".w60", "application/wordperfect6.0"); myMimeTypes.put(".w61", "application/wordperfect6.1"); myMimeTypes.put(".w6w", "application/msword"); myMimeTypes.put(".wav", "audio/x-wav"); // WAV-File myMimeTypes.put(".wb1", "application/x-qpro"); myMimeTypes.put(".wbmp", "image/vnd.wap.wbmp"); // Bitmap-File myMimeTypes.put(".web", "application/vnd.xara"); myMimeTypes.put(".wiz", "application/msword"); myMimeTypes.put(".wk1", "application/x-123"); myMimeTypes.put(".wmf", "windows/metafile"); myMimeTypes.put(".wml", "text/vnd.wap.wml"); // WML-File myMimeTypes.put(".wmlc", "application/vnd.wap.wmlc"); // WMLC-File myMimeTypes.put(".wmls", "text/vnd.wap.wmlscript"); // WML-Script-files myMimeTypes.put(".wmlsc", "application/vnd.wap.wmlscriptc"); // WML-Script-C--files myMimeTypes.put(".word", "application/msword"); myMimeTypes.put(".wp", "application/wordperfect"); myMimeTypes.put(".wp5", "application/wordperfect"); myMimeTypes.put(".wp6", "application/wordperfect"); myMimeTypes.put(".wpd", "application/wordperfect"); myMimeTypes.put(".wq1", "application/x-lotus"); myMimeTypes.put(".wri", "application/mswrite"); myMimeTypes.put(".wrl", "model/vrml"); // Visualisierung myMimeTypes.put(".wrz", "model/vrml"); myMimeTypes.put(".wsc", "text/scriplet"); myMimeTypes.put(".wsrc", "application/x-wais-source"); myMimeTypes.put(".wtk", "application/x-wintalk"); myMimeTypes.put(".xbm", "image/x-xbitmap"); // XBM-File myMimeTypes.put(".xdr", "video/x-amt-demorun"); myMimeTypes.put(".xgz", "xgl/drawing"); myMimeTypes.put(".xif", "image/vnd.xiff"); myMimeTypes.put(".xl", "application/excel"); myMimeTypes.put(".xla", "application/excel"); myMimeTypes.put(".xlb", "application/excel"); myMimeTypes.put(".xlc", "application/excel"); myMimeTypes.put(".xld", "application/excel"); myMimeTypes.put(".xlk", "application/excel"); myMimeTypes.put(".xll", "application/excel"); myMimeTypes.put(".xlm", "application/excel"); myMimeTypes.put(".xls", "application/excel"); myMimeTypes.put(".xlt", "application/excel"); myMimeTypes.put(".xlv", "application/excel"); myMimeTypes.put(".xlw", "application/excel"); myMimeTypes.put(".xm", "audio/xm"); myMimeTypes.put(".xml", "text/xml"); // XML-File myMimeTypes.put(".xmz", "xgl/movie"); myMimeTypes.put(".xpix", "application/x-vnd.ls-xpix"); myMimeTypes.put(".xpm", "image/xpm"); myMimeTypes.put(".x-png", "image/png"); myMimeTypes.put(".xsr", "video/x-amt-showrun"); myMimeTypes.put(".xwd", "image/x-windowdump"); // X-Windows myMimeTypes.put(".xyz", "chemical/x-pdb"); myMimeTypes.put(".z", "application/x-compress"); // zlib-compressed myMimeTypes.put(".zip", "application/zip"); // ZIP-Archiv-files myMimeTypes.put(".zoo", "application/octet-stream"); myMimeTypes.put(".zsh", "text/x-script.zsh"); mimeTypes = Collections.unmodifiableMap(myMimeTypes); } /** * returns true in case the given mimeType is existing/supported * @param mimeType * @return */ public static boolean isMimeType(String mimeType){ return mimeTypes.containsValue(mimeType); } /** * returns a list of extensions fitting with the given mime-type * @param mimeType * @return */ public static List<String> getExtensionForMimeType(String mimeType){ if (mimeType==null){ return null; } ArrayList<String> result = new ArrayList(); for (Map.Entry<String, String> entry : mimeTypes.entrySet()){ if (mimeType.equals(entry.getValue())){ result.add(entry.getKey()); } } return result; } /** * looks up mimetype for give filetype in ".abc" style * * @param fileType * @return */ public static String getMimeType(String fileType) { return mimeTypes.get(fileType.toLowerCase()); } public static String getMimeTypeFromFileName(String fileName) { int ind = fileName.lastIndexOf('.'); if (ind > 0) { return getMimeType(fileName.substring(ind)); } return getMimeType(""); } }