91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

靖州| SHOW| 明星| 临汾市| 沅陵县| 英吉沙县| 巴彦淖尔市| 弋阳县| 延津县| 霍山县| 鸡西市| 洛浦县| 宜昌市| 静海县| 西平县| 泾源县| 巴东县| 渭南市| 清河县| 遂平县| 西昌市| 武邑县| 泉州市| 天等县| 新龙县| 横山县| 应用必备| 买车| 成安县| 芒康县| 望谟县| 中牟县| 桐城市| 昔阳县| 桃园县| 贵定县| 蕲春县| 建平县| 遵义市| 颍上县| 岗巴县|