如何在java中获得excel和word的文件类型? 我已经获得了fileInputStream,如何根据fileInputStream知道我当前的fileInputStream是WORD还是excel文件类型?文件名不可做为判断标准,因为文件名都是bit类型的。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 那你得知道word和excel文件的开头格式。微软好像没有公开吧,你在网上查查吧。 请不要笑小弟,不知道这种方法可以不用FileInputStream的read()方法(返回为int) 读前面一串数字,(最好加上Integer.toHexString()把串压缩一下),会得到一串字符串:WORD为:d0cf11e0a1b11ae100000000000000003e030feff90600000000000100022000000001000240001000feffffff000021000ffffffffffffffffffffffffffffffffff(后面还有很多,主要是比较前面一串就行了)EXCEL为:d0cf11e0a1b11ae100000000000000003e030feff90600000000000100019000000001000feffffff0000feffffff000018000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff前面已有不同.对比就行了. 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<Excel.length();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文件"); }}这样写就能分别出来了/ 如何只使用switch...case来实现一个简单的数值范围划分 java socket疑问 点击窗体上一个按钮后执行多个连续的费时操作,并同时在窗体上更新显示进度(用文本框),这时窗体会不响应.怎么用多线程解决这个问题? String.class是什么意思! 如果客户端在经过一段时间后没有收到验证数据,那么...... 求助! 百荣科技招聘JAVA/JSP开发人员30名 关于Junit配置的问题! jBuild高手请进 请问我怎么样才能知道一个特定的数据库中是否存在某一个表 实在找不到,请教. 关于main()方法。
用FileInputStream的read()方法(返回为int) 读前面一串数字,(最好加上Integer.toHexString()把串压缩一下),会得到一串字符串:
WORD为:
d0cf11e0a1b11ae100000000000000003e030feff906000000000001000220000000010002400010
00feffffff000021000ffffffffffffffffffffffffffffffffff(后面还有很多,主要是比较前面一串就行了)
EXCEL为:
d0cf11e0a1b11ae100000000000000003e030feff90600000000000100019000000001000fefffff
f0000feffffff000018000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
前面已有不同.对比就行了.
{
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<Excel.length();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文件");
}
}这样写就能分别出来了/