java判斷檔案型別

2021-09-23 20:39:44 字數 1706 閱讀 5386

判斷檔案型別

在上傳檔案,判斷檔案型別的時候,往往會通過字尾名和頭部資訊判斷,前者大大不靠譜,後者個別型別的檔案不太好判斷。這裡推薦apache的一款tika,可以做檔案判斷還可以更強大的做內容解析。一下寫出兩種方法判斷,乙個基於頭部資訊,乙個基於tika.

一:根據頭部資訊

public class checkfiletype 

/*** @return 檔案頭資訊

* @author liang.pan

* * 方法描述:根據輸入流獲取檔案頭資訊

*/public static string getfiletype(inputstream inputstream)

/*** @return 檔案頭資訊

* @author liang.pan

* * 方法描述:根據輸入流獲取檔案頭資訊

*/public static string getfileheader(inputstream inputstream) catch (exception e) finally catch (ioexception e) }}

logger.info(">>>>>檔案的頭部資訊:" + value);

if (stringutils.startswith(value, "ffd8ff"))

return value;

}/**

* @param src 要讀取檔案頭資訊的檔案的byte陣列

* @return 檔案頭資訊

* @author liang.pan

* * 方法描述:將要讀取檔案頭資訊的檔案的byte陣列轉換成string型別表示

*/private static string bytestohexstring(byte src)

string hv;

for (int i = 0; i < src.length; i++)

}return builder.tostring();

}}

二:tika

引入依賴

* 判斷是否是

* @param file

* @return

* @throws tikaexception

* @throws ioexception

* @throws saxexception

*/public static boolean isimage(file file)

}

常見檔案型別

判斷檔案型別

判斷檔案型別 檔案的真正型別,不是根據副檔名判斷 通過檔案頭來判斷 檔案型別列舉引數 如下 using system using system.collections.generic using system.linq using system.text namespace servicecontr...

PHP 判斷檔案型別

參考 黑夜路人 一般我們都是按照副檔名來判斷檔案型別,但是這個很不靠譜,輕易就通過修改副檔名來躲避了,一般必須要讀取檔案資訊來識別。foreach files as file 注 檔名擴充套件 linux不使用檔名擴充套件來識別檔案的型別。相反,linux根據檔案的頭內容來識別其型別。為了提高人類可...

判斷檔案型別mime type

得到檔案的mime types型別,目前一種是通過判斷檔案的字尾,另一種就是通過檔案的內容來判斷,當然前一種如果你故意修改檔案字尾的話就不能做為真實的依據了,後一種才是最可靠的,ruby目前的乙個gem mime types就是通過判斷檔案字尾的方法,不太可靠,所以我們可以使用linux系統的工具來...