当前位置: 首页 > news >正文

建设网站那个平台好长沙建设工程造价网

建设网站那个平台好,长沙建设工程造价网,wordpress空间免费,wordpress网站不稳定在文件处理和管理中,确定文件的类型是一个常见的需求。虽然文件扩展名可以提供一些信息,但并不总是可靠的。魔数(Magic Numbers)是一种更为准确的方法,通过检查文件开头的特定字节序列来识别文件类型。本文将介绍如何在…

在文件处理和管理中,确定文件的类型是一个常见的需求。虽然文件扩展名可以提供一些信息,但并不总是可靠的。魔数(Magic Numbers)是一种更为准确的方法,通过检查文件开头的特定字节序列来识别文件类型。本文将介绍如何在Java中实现使用魔数判断文件类型的功能。

什么是魔数?

魔数是文件格式的标识符,通常位于文件的开头部分。每种文件格式都有其独特的魔数。例如:

  • JPEG 文件以 FF D8 开头。
  • PNG 文件以 89 50 4E 47 开头。
  • PDF 文件以 %PDF 开头。
  • ZIP 文件以 50 4B 开头。

Java实现示例

public enum FileTypeEnum {/*** JPEG*/JPEG("JPEG", "FFD8FF"),/*** PNG*/PNG("PNG", "89504E47"),/*** GIF*/GIF("GIF", "47494638"),/*** TIFF*/TIFF("TIFF", "49492A00"),/*** Windows bitmap*/BMP("BMP", "424D"),/*** CAD*/DWG("DWG", "41433130"),/*** Adobe photoshop*/PSD("PSD", "38425053"),/*** Rich Text Format*/RTF("RTF", "7B5C727466"),/*** XML*/XML("XML", "3C3F786D6C"),/*** HTML*/HTML("HTML", "68746D6C3E"),/*** Outlook Express*/DBX("DBX", "CFAD12FEC5FD746F "),/*** Outlook*/PST("PST", "2142444E"),/*** doc;xls;dot;ppt;xla;ppa;pps;pot;msi;sdw;db*/OLE2("OLE2", "0xD0CF11E0A1B11AE1"),/*** Microsoft Word/Excel*/XLS_DOC("XLS_DOC", "D0CF11E0"),/*** Microsoft Access*/MDB("MDB", "5374616E64617264204A"),/*** Word Perfect*/WPB("WPB", "FF575043"),/*** Postscript*/EPS_PS("EPS_PS", "252150532D41646F6265"),/*** Adobe Acrobat*/PDF("PDF", "255044462D312E"),/*** Windows Password*/PWL("PWL", "E3828596"),/*** ZIP Archive*/ZIP("ZIP", "504B0304"),/*** ARAR Archive*/RAR("RAR", "52617221"),/*** WAVE*/WAV("WAV", "57415645"),/*** AVI*/AVI("AVI", "41564920"),/*** Real Audio*/RAM("RAM", "2E7261FD"),/*** Real Media*/RM("RM", "2E524D46"),/*** Quicktime*/MOV("MOV", "6D6F6F76"),/*** Windows Media*/ASF("ASF", "3026B2758E66CF11"),/*** MIDI*/MID("MID", "4D546864"),/*** xlsx*/XLSX("XLSX", "504B0304"),/*** xls*/XLS("XLS", "D0CF11E0A1B11AE1");private String key;private String value;FileTypeEnum(String key, String value) {this.key = key;this.value = value;}public String getValue() {return value;}public String getKey() {return key;}
}
import java.io.IOException;
import java.io.InputStream;public class FileUtils {/*** 获取文件头** @param inputStream 输入流* @return 16 进制的文件投信息* @throws IOException io异常*/private static String getFileHeader(InputStream inputStream) throws IOException {byte[] b = new byte[28];inputStream.read(b, 0, 28);return bytes2hex(b);}/*** 将字节数组转换成16进制字符串** @param src 文件字节数组* @return 16进制字符串*/private static String bytes2hex(byte[] src) {StringBuilder stringBuilder = new StringBuilder("");if (src == null || src.length <= 0) {return null;}for (byte b : src) {int v = b & 0xFF;String hv = Integer.toHexString(v);if (hv.length() < 2) {stringBuilder.append(0);}stringBuilder.append(hv);}return stringBuilder.toString();}/*** 判断指定输入流是否是指定文件格式** @param inputStream  输入流* @param fileTypeEnum 文件格式枚举* @return true 是;false 否* @throws IOException io异常*/public static boolean isFileType(InputStream inputStream, FileTypeEnum fileTypeEnum) throws IOException {if (null == inputStream) {return false;}String fileHeader = getFileHeader(inputStream);return fileHeader.toUpperCase().startsWith(fileTypeEnum.getValue());}public static void main(String[] args) {}
}
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;public class Test {public static void main(String[] args) {File file = new File("D:/1.xlsx");try (FileInputStream fileInputStream = new FileInputStream(file)) {if (FileUtils.isFileType(fileInputStream, FileTypeEnum.XLSX) || FileUtils.isFileType(fileInputStream, FileTypeEnum.XLS)) {System.out.println("文件类型匹配");} else {System.out.println("文件类型不匹配");}} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}
}
http://www.yayakq.cn/news/885961/

相关文章:

  • 招聘网站建设需求o2o网站建设市场
  • 河东手机网站建设中国能源建设集团有限公司董事长
  • win7 asp.net网站架设个人网页设计大全
  • 企业网站建设指导思想推广平台大全
  • 兴化网站制作建设电影网站代码
  • 网站设计网址深圳市住建局官网平台
  • mvc做网站用的多不多做网站推广前途
  • wordpress优秀网站福建省建设厅网站 2013
  • 怎样给自己做网站重庆网站建设qq群
  • 大德通众包网站建设vps能同时做网站同时做其它事吗
  • directadmin网站储存目录公司比较好
  • asp化妆品网站 后台wordpress utf8
  • 国内大型网站域名海南网站建设
  • 整个网站都在下雪特效怎么做网页制作代码示例
  • 无锡设计师网站网站建设连接到百度
  • 企业运营管理培训seo公司优化方案
  • 秦皇岛网站开发房地产要崩塌了
  • 刷关键词的平台河南自助建站seo公司
  • 精品课程网站建设毕业设计论文网站建设创意广告
  • 一个jsp做的购物小网站网站开发文档管理工具
  • 嘉兴做网站公司哪家好梅州网站建
  • 网站建设几大类型佛山正规的免费建站
  • 网站icp备案怎么写一级造价工程师报名时间2023年
  • 唯一做性视频的网站网站建设资讯站
  • 网站统计代码微信wap网站开发
  • 厦门网站网页设网站推广的岗位要求
  • html5网站源码php电子商务网站建设与维护课程总结
  • 网站制作过程合理的步骤微信答题小程序制作
  • 建设直播平台网站软件租一个服务器要多少钱
  • 本地dede网站怎么上线农业网站电子商务平台建设方案