第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

在Java中獲取文件的Mime類型

在Java中獲取文件的Mime類型

慕標(biāo)琳琳 2019-06-01 16:52:11
在Java中獲取文件的Mime類型我只是想知道大多數(shù)人是如何從Java文件中獲取MIME類型的?到目前為止,我已經(jīng)嘗試了兩種用途:JMimeMagic & Mime-Util.第一個(gè)給了我內(nèi)存異常,第二個(gè)沒有正確關(guān)閉它的流。我只是想知道其他人是否有他們正確使用和工作的方法/庫?
查看完整描述

4 回答

?
森林海

TA貢獻(xiàn)2011條經(jīng)驗(yàn) 獲得超2個(gè)贊

在Java 7中,您現(xiàn)在只需使用Files.probeContentType(path).


查看完整回答
反對 回復(fù) 2019-06-01
?
HUH函數(shù)

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超4個(gè)贊

不幸的是,

mimeType = file.toURL().openConnection().getContentType();

不起作用,因?yàn)檫@種使用URL會使文件被鎖定,因此,例如,它是不可刪除的。

但是,您有以下情況:

mimeType= URLConnection.guessContentTypeFromName(file.getName());

還有以下內(nèi)容,它的優(yōu)點(diǎn)不僅僅是使用文件擴(kuò)展名,還可以查看內(nèi)容。

InputStream is = new BufferedInputStream(new FileInputStream(file));mimeType = URLConnection.guessContentTypeFromStream(is);
 //...close stream

然而,正如上面的注釋所建議的,MIME類型的內(nèi)置表是相當(dāng)有限的,不包括,例如MSWord和PDF。因此,如果您想進(jìn)行泛化,您將需要超越內(nèi)置庫,例如使用Mime-Util(這是一個(gè)很好的庫,使用文件擴(kuò)展名和內(nèi)容)。


查看完整回答
反對 回復(fù) 2019-06-01
?
蕪湖不蕪

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超7個(gè)贊

JAFAPI是JDK 6的一部分??磈avax.activation包裹。


最有趣的類是javax.activation.MimeType-一個(gè)實(shí)際的MIME型保持架-和javax.activation.MimetypesFileTypeMap-類,其實(shí)例可以將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);


查看完整回答
反對 回復(fù) 2019-06-01
?
胡說叔叔

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超8個(gè)贊

你只需要三行代碼:

File?file?=?new?File("/path/to/file");Tika?tika?=?new?Tika();System.out.println(tika.detect(file));

如果您有一個(gè)Groovy控制臺,只需粘貼并運(yùn)行以下代碼即可:

@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)
查看完整回答
反對 回復(fù) 2019-06-01
  • 4 回答
  • 0 關(guān)注
  • 2056 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號