Class StringsParser

java.lang.Object
org.apache.tika.parser.strings.StringsParser
All Implemented Interfaces:
Serializable, Initializable, Parser

public class StringsParser extends Object implements Parser, Initializable
Parser that uses the "strings" (or strings-alternative) command to find the printable strings in a object, or other binary, file (application/octet-stream). Useful as "best-effort" parser for files detected as application/octet-stream.
Author:
gtotaro
See Also:
  • Constructor Details

    • StringsParser

      public StringsParser()
  • Method Details

    • getStringsProg

      public static String getStringsProg()
    • getSupportedTypes

      public Set<MediaType> getSupportedTypes(ParseContext context)
      Description copied from interface: Parser
      Returns the set of media types supported by this parser when used with the given parse context.
      Specified by:
      getSupportedTypes in interface Parser
      Parameters:
      context - parse context
      Returns:
      immutable set of media types
    • parse

      public void parse(InputStream stream, ContentHandler handler, Metadata metadata, ParseContext context) throws IOException, SAXException, TikaException
      Description copied from interface: Parser
      Parses a document stream into a sequence of XHTML SAX events. Fills in related document metadata in the given metadata object.

      The given document stream is consumed but not closed by this method. The responsibility to close the stream remains on the caller.

      Information about the parsing context can be passed in the context parameter. See the parser implementations for the kinds of context information they expect.

      Specified by:
      parse in interface Parser
      Parameters:
      stream - the document stream (input)
      handler - handler for the XHTML SAX events (output)
      metadata - document metadata (input and output)
      context - parse context
      Throws:
      IOException - if the document stream could not be read
      SAXException - if the SAX events could not be processed
      TikaException - if the document could not be parsed
    • getStringsPath

      public String getStringsPath()
    • setStringsPath

      @Field public void setStringsPath(String path)
      Sets the "strings" installation folder.
      Parameters:
      path - the "strings" installation folder.
    • setEncoding

      @Field public void setEncoding(String encoding)
    • getMinLength

      public int getMinLength()
    • setMinLength

      @Field public void setMinLength(int minLength)
    • getTimeoutSeconds

      public int getTimeoutSeconds()
    • setTimeoutSeconds

      @Field public void setTimeoutSeconds(int timeoutSeconds)
    • getStringsEncoding

      public StringsEncoding getStringsEncoding()
    • initialize

      public void initialize(Map<String,Param> params) throws TikaConfigException
      Specified by:
      initialize in interface Initializable
      Parameters:
      params - params to use for initialization
      Throws:
      TikaConfigException
    • checkInitialization

      public void checkInitialization(InitializableProblemHandler problemHandler) throws TikaConfigException
      Specified by:
      checkInitialization in interface Initializable
      Parameters:
      problemHandler - if there is a problem and no custom initializableProblemHandler has been configured via Initializable parameters, this is called to respond.
      Throws:
      TikaConfigException