[java] Apache Tika 와 파일 시스템 접근
Apache Tika는 Java 기반의 오픈 소스 라이브러리로, 다양한 파일 형식의 내용을 추출하고 분석하는 기능을 제공합니다. 파일 시스템에 저장된 문서 파일에서 텍스트, 메타데이터, 그림 등을 추출하여 활용할 수 있습니다.
Apache Tika 설치
먼저, Apache Tika를 설치해야합니다. 아래와 같은 Maven 의존성을 추가하여 설치할 수 있습니다.
<dependency>
<groupId>org.apache.tika</groupId>
<artifactId>tika-core</artifactId>
<version>1.26</version>
</dependency>
파일 시스템에서 내용 추출하기
다음은 Apache Tika를 사용하여 파일 시스템에 저장된 문서 파일에서 내용을 추출하는 예제 코드입니다.
import org.apache.tika.exception.TikaException;
import org.apache.tika.metadata.Metadata;
import org.apache.tika.parser.AutoDetectParser;
import org.apache.tika.parser.ParseContext;
import org.apache.tika.sax.BodyContentHandler;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
public class FileContentExtractor {
public static void main(String[] args) {
// 파일 경로 설정
String filePath = "/path/to/file";
File file = new File(filePath);
try (InputStream inputStream = new FileInputStream(file)) {
// Tika Parser 초기화
AutoDetectParser parser = new AutoDetectParser();
BodyContentHandler handler = new BodyContentHandler();
Metadata metadata = new Metadata();
ParseContext parseContext = new ParseContext();
// 파일 내용 추출
parser.parse(inputStream, handler, metadata, parseContext);
// 추출된 내용 출력
System.out.println("File Content:");
System.out.println(handler.toString());
// 메타데이터 출력
System.out.println("Metadata:");
for (String name : metadata.names()) {
System.out.println(name + ": " + metadata.get(name));
}
} catch (IOException | TikaException e) {
e.printStackTrace();
}
}
}
위의 예제 코드는 지정된 파일 경로에서 파일을 읽고, Tika Parser를 사용하여 파일 내용을 추출합니다. 추출된 내용은 BodyContentHandler
를 통해 얻을 수 있으며, 메타데이터는 Metadata
객체를 통해 얻을 수 있습니다.