可以尝试以下代码来解决:
File file = new File("example.doc"); Tika tika = new Tika(); String contentType = null; try { contentType = tika.detect(file); } catch (IOException e) { e.printStackTrace(); } System.out.println("Content Type: " + contentType);
如果上述代码仍然无法检测出Content-Type,可以尝试使用以下代码:
File file = new File("example.doc"); Tika tika = new Tika(); Metadata metadata = new Metadata(); InputStream stream = null; String contentType = null; try { stream = new FileInputStream(file); contentType = tika.detect(stream, metadata); } catch (IOException e) { e.printStackTrace(); } finally { try { stream.close(); } catch (IOException e) { e.printStackTrace(); } } System.out.println("Content Type: " + contentType);
这样可以在检测Content-Type时传入Metadata对象,以便更好地检测文件类型。