java识别文件类型_在Java中识别文件类型

我使用

Apache Tika,它使用魔术字节模式和globbing提示(文件扩展名)来识别文件类型,以检测MIME类型.它还支持对文件内容的其他解析(我不真正使用).

以下是一个简单而肮脏的例子,说明如何使用Tika来检测文件类型,而不对文件执行任何额外的解析:

import java.io.File;

import java.io.FileInputStream;

import java.io.InputStream;

import java.util.HashMap;

import org.apache.tika.Metadata.HttpHeaders;

import org.apache.tika.Metadata.Metadata;

import org.apache.tika.Metadata.TikaMetadataKeys;

import org.apache.tika.mime.MediaType;

import org.apache.tika.parser.AutoDetectParser;

import org.apache.tika.parser.ParseContext;

import org.apache.tika.parser.Parser;

import org.xml.sax.helpers.DefaultHandler;

public class Detector {

public static void main(String[] args) throws Exception {

File file = new File("/pats/to/file.xls");

AutoDetectParser parser = new AutoDetectParser();

parser.setParsers(new HashMap());

Metadata Metadata = new Metadata();

Metadata.add(TikaMetadataKeys.RESOURCE_NAME_KEY,file.getName());

InputStream stream = new FileInputStream(file);

parser.parse(stream,new DefaultHandler(),Metadata,new ParseContext());

stream.close();

String mimeType = Metadata.get(HttpHeaders.CONTENT_TYPE);

System.out.println(mimeType);

}

}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值