本文整理汇总了Java中org.apache.tika.detect.Detector.detect方法的典型用法代码示例。如果您正苦于以下问题:Java Detector.detect方法的具体用法?Java Detector.detect怎么用?Java Detector.detect使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.apache.tika.detect.Detector
的用法示例。
在下文中一共展示了Detector.detect方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: findMediaType
import org.apache.tika.detect.Detector; //导入方法依赖的package包/类
/**
* Finds media type (through Apache Tika library), based on filename and magic numbers.
* @throws IOException
*/
public static MediaType findMediaType(InputStream is, String fileName) throws IOException {
BufferedInputStream bis = new BufferedInputStream(is);
try {
AutoDetectParser parser = new AutoDetectParser();
Detector detector = parser.getDetector();
Metadata md = new Metadata();
md.add(Metadata.RESOURCE_NAME_KEY, fileName);
MediaType mediaType = detector.detect(bis, md);
return mediaType;
} finally {
try {
bis.close();
} catch (IOException e) {
;
}
}
}
示例2: isImage
import org.apache.tika.detect.Detector; //导入方法依赖的package包/类
/**
* Check is input file is image
*
* @param fileContent
*/
public static boolean isImage(byte[] fileContent) {
AutoDetectParser parser = new AutoDetectParser();
Detector detector = parser.getDetector();
MediaType mediaType;
try {
mediaType = detector.detect(TikaInputStream.get(fileContent), new Metadata());
} catch (Exception e) {
logger.error("Unable to read file content.", e);
throw new InternalReportPortalClientException("Unable to read file content.", e);
}
return mediaType.toString().contains(IMAGE_TYPE);
}
示例3: getMimeType
import org.apache.tika.detect.Detector; //导入方法依赖的package包/类
private static MediaType getMimeType(InputStream stream, Metadata md) throws IOException {
MediaType mediaType;
try (BufferedInputStream bis = new BufferedInputStream(stream)) {
AutoDetectParser parser = new AutoDetectParser();
Detector detector = parser.getDetector();
mediaType = detector.detect(bis, md);
}
return mediaType;
}
示例4: getType
import org.apache.tika.detect.Detector; //导入方法依赖的package包/类
/**
* Returns a data type.
*/
public final MediaType getType(final String alias)
throws StorageIOException{
try (InputStream in = this.getInputStream(alias)) {
AutoDetectParser parser = new AutoDetectParser();
Detector detector = parser.getDetector();
Metadata md = new Metadata();
md.add(Metadata.RESOURCE_NAME_KEY, alias);
return detector.detect(in, md);
} catch (IOException exc) {
throw new StorageIOException(alias, exc);
}
}
示例5: testExcelXLSB
import org.apache.tika.detect.Detector; //导入方法依赖的package包/类
/**
* We don't currently support the .xlsb file format
* (an OOXML container with binary blobs), but we
* shouldn't break on these files either (TIKA-826)
*/
@Test
public void testExcelXLSB() throws Exception {
Detector detector = new DefaultDetector();
AutoDetectParser parser = new AutoDetectParser();
InputStream input = ExcelParserTest.class.getResourceAsStream(
"/test-documents/testEXCEL.xlsb");
Metadata m = new Metadata();
m.add(Metadata.RESOURCE_NAME_KEY, "excel.xlsb");
// Should be detected correctly
MediaType type = null;
try {
type = detector.detect(input, m);
assertEquals("application/vnd.ms-excel.sheet.binary.macroenabled.12", type.toString());
} finally {
input.close();
}
// OfficeParser won't handle it
assertEquals(false, (new OfficeParser()).getSupportedTypes(new ParseContext()).contains(type));
// OOXMLParser won't handle it
assertEquals(false, (new OOXMLParser()).getSupportedTypes(new ParseContext()).contains(type));
// AutoDetectParser doesn't break on it
input = ExcelParserTest.class.getResourceAsStream("/test-documents/testEXCEL.xlsb");
try {
ContentHandler handler = new BodyContentHandler(-1);
ParseContext context = new ParseContext();
context.set(Locale.class, Locale.US);
parser.parse(input, handler, m, context);
String content = handler.toString();
assertEquals("", content);
} finally {
input.close();
}
}
示例6: testExcel95
import org.apache.tika.detect.Detector; //导入方法依赖的package包/类
/**
* We don't currently support the old Excel 95 .xls file format,
* but we shouldn't break on these files either (TIKA-976)
*/
@Test
public void testExcel95() throws Exception {
Detector detector = new DefaultDetector();
AutoDetectParser parser = new AutoDetectParser();
InputStream input = ExcelParserTest.class.getResourceAsStream(
"/test-documents/testEXCEL_95.xls");
Metadata m = new Metadata();
m.add(Metadata.RESOURCE_NAME_KEY, "excel_95.xls");
// Should be detected correctly
MediaType type = null;
try {
type = detector.detect(input, m);
assertEquals("application/vnd.ms-excel", type.toString());
} finally {
input.close();
}
// OfficeParser will claim to handle it
assertEquals(true, (new OfficeParser()).getSupportedTypes(new ParseContext()).contains(type));
// OOXMLParser won't handle it
assertEquals(false, (new OOXMLParser()).getSupportedTypes(new ParseContext()).contains(type));
// AutoDetectParser doesn't break on it
input = ExcelParserTest.class.getResourceAsStream("/test-documents/testEXCEL_95.xls");
try {
ContentHandler handler = new BodyContentHandler(-1);
ParseContext context = new ParseContext();
context.set(Locale.class, Locale.US);
parser.parse(input, handler, m, context);
String content = handler.toString();
assertEquals("", content);
} finally {
input.close();
}
}