Apache Tika
Java를 통해서 파일을 읽어 오는 방법을 소개하겠습니다.
아파치 티카는 PPT, CSV ,PDF 등 다양한 형태의, 파일의 메타 데이터와 텍스트를 감지하고 추출하는 라이브러리입니다.
지원되는 포맷을 아래와 같다고 합니다.
tika-core - 핵심 라이브러리 (파서 없음)
tika-parsers - core + Tika Parser interface (두가지)
위 두가지 라이브러리를 사용하여 파일을 읽을 수 있습니다.
<!-- https://mvnrepository.com/artifact/org.apache.tika/tika-core -->
<dependency>
<groupId>org.apache.tika</groupId>
<artifactId>tika-core</artifactId>
<version>2.0.0-ALPHA</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.tika/tika-parsers -->
<dependency>
<groupId>org.apache.tika</groupId>
<artifactId>tika-parsers</artifactId>
<version>2.0.0-ALPHA</version>
<type>pom</type>
</dependency>
위 라이브러리를 추가 후
public String parseExample() throws IOException, SAXException, TikaException {
AutoDetectParser parser = new AutoDetectParser();
BodyContentHandler handler = new BodyContentHandler();
Metadata metadata = new Metadata();
try (InputStream stream = ParsingExample.class.getResourceAsStream("test.doc")) {
parser.parse(stream, handler, metadata);
return handler.toString();
}
}
public String parseToPlainText() throws IOException, SAXException, TikaException {
BodyContentHandler handler = new BodyContentHandler();
AutoDetectParser parser = new AutoDetectParser();
Metadata metadata = new Metadata();
try (InputStream stream = ContentHandlerExample.class.getResourceAsStream("test.doc")) {
parser.parse(stream, handler, metadata);
return handler.toString();
}
}
위와 같은 방식으로 파일을 읽을 수 있다.
tika.apache.org/1.25/examples.html