Package org.apache.tika.parser.csv
Class TextAndCSVParser
java.lang.Object
org.apache.tika.parser.AbstractEncodingDetectorParser
org.apache.tika.parser.csv.TextAndCSVParser
- All Implemented Interfaces:
Serializable
,Parser
Unless the
TikaCoreProperties.CONTENT_TYPE_USER_OVERRIDE
is set,
this parser tries to assess whether the file is a text file, csv or tsv.
If the detector detects regularity in column numbers and/or encapsulated cells,
this parser will apply the CSVParser
;
otherwise, it will treat the contents as text.
If there is a csv parse exception during detection, the parser sets
the HttpHeaders.CONTENT_TYPE
to MediaType.TEXT_PLAIN
and treats the file as MediaType.TEXT_PLAIN
.
If there is a csv parse exception during the parse, the parser
writes what's left of the stream as if it were text and then throws
an exception. As of this writing, the content that was buffered by the underlying
CSVParser
is lost.
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionstatic final Property
static final Property
If the file is detected as a csv/tsv, this is the number of columns in the first row.static final Property
If the file is detected as a csv/tsv, this is the number of rows if the file is successfully read (e.g. no encapsulation exceptions, etc). -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptiongetSupportedTypes
(ParseContext context) Returns the set of media types supported by this parser when used with the given parse context.void
parse
(InputStream stream, ContentHandler handler, Metadata metadata, ParseContext context) Parses a document stream into a sequence of XHTML SAX events.void
setNameToDelimiterMap
(Map<String, String> map) Methods inherited from class org.apache.tika.parser.AbstractEncodingDetectorParser
getEncodingDetector, getEncodingDetector, setEncodingDetector
-
Field Details
-
DELIMITER_PROPERTY
-
NUM_COLUMNS
If the file is detected as a csv/tsv, this is the number of columns in the first row. -
NUM_ROWS
If the file is detected as a csv/tsv, this is the number of rows if the file is successfully read (e.g. no encapsulation exceptions, etc).
-
-
Constructor Details
-
TextAndCSVParser
public TextAndCSVParser() -
TextAndCSVParser
-
-
Method Details
-
getSupportedTypes
Description copied from interface:Parser
Returns the set of media types supported by this parser when used with the given parse context.- 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.
- 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 readSAXException
- if the SAX events could not be processedTikaException
- if the document could not be parsed
-
setNameToDelimiterMap
- Throws:
TikaConfigException
-