ciao!
ho una classe che usa Apache Tika per fare il parsing dei file in base al mime type.
come vedete ho creato un metodo per ogni tipo di parsing che mi interessa.codice:public class ParseFile { private File file; private BodyContentHandler handler; private Metadata metadata; private ParseContext context; private FileInputStream inputstream; private StringBuilder sb; private String[] metadataNames; private String content; public ParseFile(File file) throws FileNotFoundException { this.file = file; handler = new BodyContentHandler(); metadata = new Metadata(); context = new ParseContext(); inputstream = new FileInputStream(file); sb = new StringBuilder(); } public void genericParser() throws IOException, SAXException, TikaException { Parser parser = new AutoDetectParser(); parser.parse(inputstream, handler, metadata, context); setContent(handler.toString()); setMetadataNames(metadata.names()); } public void jpegParser() throws IOException, SAXException, TikaException { JpegParser parser = new JpegParser(); parser.parse(inputstream, handler, metadata, context); setMetadataNames(metadata.names()); } public void ooXmlParser() throws IOException, SAXException, TikaException { OOXMLParser parser = new OOXMLParser(); parser.parse(inputstream, handler, metadata, context); setContent(handler.toString()); setMetadataNames(metadata.names()); } .................................................................. }
da una JTable prendo il file e lo passo al costruttore.
però, in sostanza, sono tutti metodi praticamente uguali, e mi sembra un pò una ripetizione.
cambia solo il parser da utilizzare.
come potrei migliorare questa classe secondo voi?

Rispondi quotando