件頭是位於文件開頭的一段承擔一定任務的數據
為了解決在用戶上傳文件的時候在服務器端判斷文件類型的問題
Java代碼 :
package com
import java
import java
import java
/**
* 獲取和判斷文件頭信息
*
* @author bigbird
*
*/
public class FileType {
//緩存文件頭信息
public static final HashMap<String
static {
// images
mFileTypes
mFileTypes
mFileTypes
mFileTypes
mFileTypes
//
mFileTypes
mFileTypes
mFileTypes
mFileTypes
mFileTypes
mFileTypes
mFileTypes
mFileTypes
mFileTypes
mFileTypes
mFileTypes
mFileTypes
mFileTypes
mFileTypes
mFileTypes
mFileTypes
mFileTypes
mFileTypes
mFileTypes
mFileTypes
mFileTypes
mFileTypes
mFileTypes
}
/**
* 根據文件路徑獲取文件頭信息
*
* @param filePath
* 文件路徑
* @return 文件頭信息
*/
public static String getFileType(String filePath) {
return mFileTypes
}
/**
* 根據文件路徑獲取文件頭信息
*
* @param filePath
* 文件路徑
* @return 文件頭信息
*/
public static String getFileHeader(String filePath) {
FileInputStream is = null;
String value = null;
try {
is = new FileInputStream(filePath)
byte[] b = new byte[
is
value = bytesToHexString(b)
} catch (Exception e) {
} finally {
if (null != is) {
try {
is
} catch (IOException e) {
}
}
}
return value;
}
/**
* 將要讀取文件頭信息的文件的byte數組轉換成string類型表示
*
* @param src
* 要讀取文件頭信息的文件的byte數組
* @return 文件頭信息
*/
private static String bytesToHexString(byte[] src) {
StringBuilder builder = new StringBuilder()
if (src == null || src
return null;
}
String hv;
for (int i =
// 以十六進制(基數
hv = Integer
if (hv
builder
}
builder
}
return builder
}
public static void main(String[] args) throws Exception {
final String fileType = getFileType(
System
}
}
From:http://tw.wingwit.com/Article/program/Java/hx/201311/25980.html