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

扬州市城乡建设局网站城市建设网

扬州市城乡建设局网站,城市建设网,曼斯特(北京)网站建设公司,做网站申请完空间后下一步干啥在文件处理和管理中#xff0c;确定文件的类型是一个常见的需求。虽然文件扩展名可以提供一些信息#xff0c;但并不总是可靠的。魔数#xff08;Magic Numbers#xff09;是一种更为准确的方法#xff0c;通过检查文件开头的特定字节序列来识别文件类型。本文将介绍如何在…在文件处理和管理中确定文件的类型是一个常见的需求。虽然文件扩展名可以提供一些信息但并不总是可靠的。魔数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.laogonggong.com/news/132934.html

相关文章:

  • 做网站开发用哪门语言吃什么补肾壮阳
  • 第三方网站下载素材是怎么做合肥建筑材料市场信息价官网
  • 电力行业企业网站建设农商1号的网站建设费
  • 网站做新浪图床明珠信息港网站建设专家
  • 视频网站开发周期用瀑布流做的美食网站
  • 花都网站推广常州网站排名提升
  • 网站建设管理工作情况报告溧阳有做网站的吗
  • 区网站制作沧州市网站
  • 智谋网站优化公司网站的建设模式是指什么
  • 山西太原门户网站开发公司小型网站建设公司价格
  • 钓鱼网站制作wordpress最大上传大小怎么改
  • 阳江网站建设推广更换网站备案
  • 涪城网站建设网站写好了怎么做后台管理
  • 怎么给自己的网站做扫描码图怪兽在线设计平台
  • h5做的网站如何连接数据库国内做服装的网站有哪些方面
  • 莆田网站建设平台建站建设
  • 网站建设管理自查报告简历制作网站哪个好
  • 电子商务自助建网站云南省红河州蒙自建设局网站
  • 商城网站建设报价表如何登陆网站服务器
  • 400靓号手机网站建设网站效果图设计
  • 做家乡网站代码电商平台怎么开发
  • 个人网站谢谢关于茶叶的网站模板免费下载
  • 建设网站买了域名还要什么资料小学生家长网站建设需求
  • wordpress如何开启多站点重庆城乡建设局网站
  • 仿站工具教程做电商都需要什么
  • 深圳专业做网站设计公司网站建设价格是哪些方面决定的
  • 建设一个网站的具体步骤做网站赣州
  • 免费的微网站网站图片移动怎么做的
  • 天猫网站做链接怎么做库尔勒网站建设哪家好
  • 企业网站建设(信科网络)wordpress主题缺少样式表