Mit Tika, der Code den Text aus einer Datei zu erhalten, ist ganz einfach:
import org.apache.tika.exception.TikaException;
import org.apache.tika.metadata.Metadata;
import org.apache.tika.parser.AutoDetectParser;
import org.apache.tika.sax.BodyContentHandler;
import org.apache.tika.parser.Parser;
// exception handling not shown
Parser parser = new AutoDetectParser();
StringWriter textBuffer = new StringWriter();
InputStream input = new FileInputStream(file);
Metadata md = new Metadata();
md.set(Metadata.RESOURCE_NAME_KEY, file.getName());
parser.parse(input, new BodyContentHandler(textBuffer), md);
String text = textBuffer.toString()
Bisher Tika 0.3 scheint sehr gut zu funktionieren. Werfen Sie einfach eine beliebige Datei darauf und es gibt Ihnen wieder, was am sinnvollsten für dieses Format ist. Ich kann den Text für die Indizierung von allem bekommen, was ich bisher geworfen habe, einschließlich PDFs und den neuen MS Office-Dateien. Wenn es bei einigen Formaten Probleme gibt, dann glaube ich, dass sie hauptsächlich darin bestehen, formatierte Textextrahierung zu erhalten, anstatt nur reinen Klartext.
Obwohl ich hier nicht aufgeführt bin, begann ich heute, ein vielversprechendes Produkt zu betrachten https://www.clusterpoint.com/ – NoChance