亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Java獲取文件ContentType案例

瀏覽:3日期:2022-08-26 10:54:09

源碼如下:

package com.oysept; import java.io.File;import java.io.IOException;import java.net.FileNameMap;import java.net.URLConnection;import java.nio.file.Files;import java.nio.file.Path;import java.nio.file.Paths; import javax.activation.MimetypesFileTypeMap; /** * Java獲取文件ContentType * @author ouyangjun */public class ContentTypeUtils { public static void main(String[] args) { // 文件路徑 String fileUrl = 'C:UsersadminDesktoptttt.rar'; // 方式一 getContentTypeByLocal(fileUrl);// 方式二,推薦使用 getContentType(fileUrl); // 方式三 getContentTypeByType(fileUrl); } /** * 方式一 * 該方式只支持本地文件,有時(shí)候會(huì)存在獲取為null的情況 * @param fileUrl */ public static String getContentTypeByLocal(String fileUrl) { String contentType = null; Path path = Paths.get(fileUrl); try { contentType = Files.probeContentType(path); } catch (IOException e) { e.printStackTrace(); } System.out.println('getContentTypeByLocal, File ContentType is : ' + contentType); return contentType; } /** * 方式二 * 該方式支持本地文件,也支持http/https遠(yuǎn)程文件 * @param fileUrl */ public static String getContentType(String fileUrl) { String contentType = null; try { contentType = new MimetypesFileTypeMap().getContentType(new File(fileUrl)); } catch (Exception e) { e.printStackTrace(); } System.out.println('getContentType, File ContentType is : ' + contentType); return contentType; } /** * 方式三 * @param fileUrl,有時(shí)候會(huì)存在獲取為null的情況 */ public static String getContentTypeByType(String fileUrl) { String contentType = null; try { FileNameMap fileNameMap = URLConnection.getFileNameMap(); contentType = fileNameMap.getContentTypeFor(fileUrl); } catch (Exception e) { e.printStackTrace(); } System.out.println('getContentTypeByType, File ContentType is : ' + contentType); return contentType; }}

打印效果圖:

Java獲取文件ContentType案例

補(bǔ)充知識(shí):ImageTypeUtil工具類(lèi):Java獲取URL對(duì)應(yīng)的文件類(lèi)型及其后綴

Java獲取URL對(duì)應(yīng)的文件類(lèi)型及其后綴的主流方法有三種:

1、根據(jù)文件頭部數(shù)據(jù)來(lái)判斷。

通常需要先下載再判斷,但是如果想要在下載的時(shí)候確定文件后綴,就做不到了,而且獲取的文件類(lèi)型不是很準(zhǔn)確。

2、使用lastIndexOf去解析url字符串。

這種方法最簡(jiǎn)單高效。

3、UrlConnection獲取ContentType的類(lèi)型推測(cè)出文件的類(lèi)型。

這里我封裝了一個(gè)工具類(lèi),將第二種方法和第三種方法結(jié)合,但是不是用lastIndexOf,而是判斷url字符串是否包含圖片的后綴。

package johny.utils; import java.net.URLConnection; /** * @author Johny 林子豪 */public enum ImageTypeUtil { PNG('.png', 'image/png'), JPG('.jpg', 'image/jpeg'), BMP('.bmp', 'image/bmp'), JPEG('.jpeg', 'image/jpeg'), GIF('.gif', 'image/gif'), TIF('.tif', 'image/tiff'),//標(biāo)簽圖像文件格式(Tagged Image File Format,簡(jiǎn)寫(xiě)為T(mén)IFF)是一種主要用來(lái)存儲(chǔ)包括照片和藝術(shù)圖在內(nèi)的圖像的文件格式。它最初由Aldus公司與微軟公司一起為PostScript打印開(kāi)發(fā)。 TIFF('.tiff', 'image/tiff'), FAX('.fax', 'image/fax'), ICO('.ico', 'image/x-icon'), JFIF('.jfif', 'image/jpeg'), JPE('.jpe', 'image/jpeg'), NET('.net', 'image/pnetvue'), WBMP('.wbmp', 'image/vnd.wap.wbmp'); //如果有其他的mime類(lèi)型, /** * 后綴名 */ final String mSuffix; final String mMIME; ImageTypeUtil(String suffix, String mime) { this.mSuffix = suffix; this.mMIME = mime; } public static String getSuffixFromUrl(String url) { for (ImageTypeUtil fileType : values()) { if (url.contains(fileType.suffix())) {return fileType.suffix(); } } String contentType = getMIMETypeFromUrl(url); if (contentType == null) return null; return mimeMapingSuffix(contentType); } public static String getMIMETypeFromUrl(String url) { if (url == null || url.isEmpty()) { return null; } return URLConnection.guessContentTypeFromName(url); } /** * mime類(lèi)型對(duì)應(yīng)的后綴名 */ public static String mimeMapingSuffix(String mime) { for (ImageTypeUtil fileType : values()) { if (fileType.mime().equals(mime)) {return fileType.suffix(); } } return null; } public String mime() { return mMIME; } /** * 獲取后綴名 * * @return 指定類(lèi)型的后綴名,如’.mp4’ */ public String suffix() { return this.mSuffix; } }

以上這篇Java獲取文件ContentType案例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 日本一级毛片片免费观看 | 日韩欧美精品综合一区二区三区 | 午夜高清性色生活片 | 久久久久国产成人精品亚洲午夜 | 538精品视频 | 国产一级生活片 | 亚洲国产视频一区 | 国产三级观看久久 | 久久免费福利视频 | 亚洲欧美久久婷婷爱综合一区天堂 | 亚洲色综合图区p | 波多久久夜色精品国产 | 久久精品视香蕉蕉er大臿蕉 | 1000部拍拍拍18勿入免费凤凰福利 | 欧美日韩无线在码不卡一区二区三区 | 欧美大片aaaa一级毛片 | a级毛片免费观看在线播放 a级毛片免费观看网站 | 精品日韩在线 | 欧美在线看欧美高清视频免费 | 久热re这里只有精品视频 | 亚洲欧美日韩国产综合久 | 韩国一级做a爰片性色毛片 韩国一级做a爱性色毛片 | 亚洲欧美日韩国产专区一区 | 日韩欧美亚州 | 日本中文一区 | 国内真实下药迷j在线观看 国内主播大秀福利视频在线看 | 一本之道无吗一二三区 | 六月丁香婷婷天天在线 | 伊人天天 | 欧美一区二区三区精品国产 | 国产精品久久久久久久网站 | 澳门一级特黄录像免费播黄 | 香蕉视频视频 | 欧美日本韩国一区 | 国产一级一片免费播放刺激 | 国产在线a不卡免费视频 | 国产成人亚洲欧美激情 | 狠狠色丁香婷婷综合久久来 | 久久久久国产一级毛片高清版 | 在线欧美精品国产综合五月 | 色草在线 |