中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java中怎么檢測上傳文件類型

發布時間:2021-08-06 16:31:20 來源:億速云 閱讀:129 作者:Leah 欄目:編程語言

本篇文章給大家分享的是有關java中怎么檢測上傳文件類型,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

讀取文件的二進制數據并將其轉換為十六進制時,同類型文件的文件頭數據是相同的,即使改變了其后綴,這個數據也不會改變

import java.io.*;import java.util.HashMap;public class GetFileType {    // 緩存文件頭信息-文件頭信息    public static final HashMap<String, String> mFileTypes = new HashMap<String, String>();    static {      mFileTypes.put("FFD8FFE0","jpg");      mFileTypes.put("89504E47","png");      mFileTypes.put("424DC6CC","bmp");      mFileTypes.put("47494638","gif");    }    /**   * 根據文件路徑獲取文件頭信息   *   * @param filePath 文件路徑   * @return 文件頭信息   */  public static String getFileType(String filePath) {    String type = getFileHeader(filePath);    System.out.println(type);    return mFileTypes.get(type);  }  /**   * 根據文件路徑獲取文件頭信息   *   * @param filePath 文件路徑   * @return 文件頭信息   */  public static String getFileHeader(String filePath) {    FileInputStream is = null;    String value = null;    try {      is = new FileInputStream(filePath);      byte[] b = new byte[4];      /*       * int read() 從此輸入流中讀取一個數據字節。 int read(byte[] b) 從此輸入流中將最多 b.length       * 個字節的數據讀入一個 byte 數組中。 int read(byte[] b, int off, int len)       * 從此輸入流中將最多 len 個字節的數據讀入一個 byte 數組中。       */      is.read(b, 0, b.length);      value = bytesToHexString(b);    } catch (Exception e) {    } finally {      if (null != is) {        try {          is.close();        } 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.length <= 0) {      return null;    }    String hv;    for (int i = 0; i < src.length; i++) {      // 以十六進制(基數 16)無符號整數形式返回一個整數參數的字符串表示形式,并轉換為大寫      hv = Integer.toHexString(src[i] & 0xFF).toUpperCase();      if (hv.length() < 2) {        builder.append(0);      }      builder.append(hv);    }    return builder.toString();  }  public static void main(String[] args) {    String path = "E:/file/2.png";    String type = getFileType(path);    System.out.println(type);    path = "E:/file/timg.jpg";    type = getFileType(path);    System.out.println(type);    path = "E:/file/bmp.bmp";    type = getFileType(path);    System.out.println(type);    path = "E:/file/winter.gif";    type = getFileType(path);    System.out.println(type);  }}

以上就是java中怎么檢測上傳文件類型,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

东光县| 宁明县| 武平县| 正镶白旗| 富裕县| 若羌县| 鹤壁市| 南投市| 桐柏县| 石首市| 仪陇县| 固原市| 睢宁县| 墨竹工卡县| 曲沃县| 阿巴嘎旗| 苏州市| 平泉县| 和顺县| 仁布县| 永州市| 大庆市| 盐源县| 宝清县| 丽江市| 铜陵市| 巴南区| 六安市| 文山县| 广昌县| 乌鲁木齐县| 衡南县| 襄汾县| 邵武市| 通江县| 通海县| 鄯善县| 榆林市| 波密县| 南岸区| 青岛市|