站内搜索: 请输入搜索关键词

当前页面: 开发资料首页Java 专题如何在java中获得excel和word的文件类型?

如何在java中获得excel和word的文件类型?

摘要: 如何在java中获得excel和word的文件类型?


我已经获得了fileInputStream,如何根据fileInputStream知道我当前的fileInputStream是WORD还是excel文件类型?文件名不可做为判断标准,因为文件名都是bit类型的。


那你得知道word和excel文件的开头格式。微软好像没有公开吧,你在网上查查吧。


请不要笑小弟,不知道这种方法可以不
用FileInputStream的read()方法(返回为int) 读前面一串数字,(最好加上Integer.toHexString()把串压缩一下),会得到一串字符串:
WORD为:
d0cf11e0a1b11ae100000000000000003e030feff906000000000001000220000000010002400010
00feffffff000021000ffffffffffffffffffffffffffffffffff(后面还有很多,主要是比较前面一串就行了)
EXCEL为:
d0cf11e0a1b11ae100000000000000003e030feff90600000000000100019000000001000fefffff
f0000feffffff000018000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
前面已有不同.对比就行了.


import java.io.*;

public class c
{
public static void main(String[] args) throws Exception
{
FileInputStream fis = new FileInputStream(new File("C:/a.bit"));
String Excel="d0cf11e0a1b11ae100000000000000003e030feff90600000000000100019000000001000fefffff";
StringBuffer sb=new StringBuffer();
for(int i=0;i {
sb.append(Integer.toHexString(fis.read()));
}
if(sb.toString().substring(0,Excel.length()).equals(Excel)) System.out.println("是EXCEL文件");
else System.out.println("不是EXCEL文件");
}
}

这样写就能分别出来了/


谢谢两位。


↑返回目录
前一篇: 数据库插入问题
后一篇: 如何获取JTABLE中的CHECKBOX值