org.jfree.report.util
Class CSVTokenizer
java.lang.Object
org.jfree.report.util.CSVTokenizer
- Enumeration
extends java.lang.Object
implements Enumeration
The csv tokenizer class allows an application to break a Comma Separated Value format
into tokens. The tokenization method is much simpler than the one used by the
StringTokenizer
class. The
CSVTokenizer
methods do not
distinguish among identifiers, numbers, and quoted strings, nor do they recognize and
skip comments.
The set of separator (the characters that separate tokens) may be specified either at
creation time or on a per-token basis.
An instance of
CSVTokenizer
behaves in one of two ways, depending on
whether it was created with the
returnSeparators
flag having the value
true
or
false
:
- If the flag is
false
,
delimiter characters serve to separate tokens. A token is a maximal sequence of
consecutive characters that are not separator. - If the flag is
true
,
delimiter characters are themselves considered to be tokens. A token is thus either one
delimiter character, or a maximal sequence of consecutive characters that are not
separator.
A
CSVTokenizer object internally maintains a current
position within the string to be tokenized. Some operations advance this current
position past the characters processed.
A token is returned by taking a substring of
the string that was used to create the
CSVTokenizer object.
The following is one example of the use of the tokenizer. The code:
CSVTokenizer csvt = new CSVTokenizer("this,is,a,test");
while (csvt.hasMoreTokens()) {
println(csvt.nextToken());
}
prints the following output:
this
is
a
test
CSVTokenizer(String aString) - Constructs a string tokenizer for the specified string.
|
CSVTokenizer(String aString, String theSeparator) - Constructs a csv tokenizer for the specified string.
|
CSVTokenizer(String aString, String theSeparator, String theQuate) - Constructs a csv tokenizer for the specified string.
|
int | countTokens() - Calculates the number of times that this tokenizer's
nextToken method
can be called before it generates an exception.
|
String | getQuate() - Returns the quate.
|
boolean | hasMoreElements() - Returns the same value as the
hasMoreTokens method.
|
boolean | hasMoreTokens() - Tests if there are more tokens available from this tokenizer's string.
|
Object | nextElement() - Returns the same value as the
nextToken method, except that its declared
return value is Object rather than String .
|
String | nextToken() - Returns the next token from this string tokenizer.
|
String | nextToken(String theSeparator) - Returns the next token in this string tokenizer's string.
|
void | setQuate(String quate) - Sets the quate.
|
DOUBLE_QUATE
public static final String DOUBLE_QUATE
A possible quote character constant.
SEPARATOR_COMMA
public static final String SEPARATOR_COMMA
A possible separator constant.
SEPARATOR_SPACE
public static final String SEPARATOR_SPACE
A possible separator constant.
SEPARATOR_TAB
public static final String SEPARATOR_TAB
A possible separator constant.
SINGLE_QUATE
public static final String SINGLE_QUATE
A possible quote character constant.
CSVTokenizer
public CSVTokenizer(String aString)
Constructs a string tokenizer for the specified string. The tokenizer uses the
default separator set, which is CSVTokenizer.SEPARATOR_COMMA
. Separator
string themselves will not be treated as tokens.
aString
- a string to be parsed.
CSVTokenizer
public CSVTokenizer(String aString,
String theSeparator)
Constructs a csv tokenizer for the specified string. The characters in the
theSeparator
argument are the separator for separating tokens. Separator
string themselves will not be treated as tokens.
aString
- a string to be parsed.theSeparator
- the separator (CSVTokenizer.SEPARATOR_COMMA, CSVTokenizer.TAB,
CSVTokenizer.SPACE, etc.).
CSVTokenizer
public CSVTokenizer(String aString,
String theSeparator,
String theQuate)
Constructs a csv tokenizer for the specified string.
theSeparator
argument is the separator for separating tokens.
If the
returnSeparators
flag is
true
, then the separator
string is also returned as tokens. separator is returned as a string. If the flag is
false
, the separator string is skipped and only serve as separator
between tokens.
aString
- a string to be parsed.theSeparator
- the separator (CSVTokenizer.SEPARATOR_COMMA, CSVTokenizer.TAB,
CSVTokenizer.SPACE, etc.).theQuate
- the quate (CSVTokenizer.SINGLE_QUATE, CSVTokenizer.DOUBLE_QUATE,
etc.).
countTokens
public int countTokens()
Calculates the number of times that this tokenizer's nextToken
method
can be called before it generates an exception. The current position is not
advanced.
- the number of tokens remaining in the string using the current delimiter
set.
getQuate
public String getQuate()
Returns the quate.
hasMoreElements
public boolean hasMoreElements()
Returns the same value as the hasMoreTokens
method. It exists so that
this class can implement the Enumeration
interface.
true
if there are more tokens; false
otherwise.
hasMoreTokens
public boolean hasMoreTokens()
Tests if there are more tokens available from this tokenizer's string. If this method
returns true, then a subsequent call to nextToken with no argument
will successfully return a token.
true
if and only if there is at least one token in the string
after the current position; false
otherwise.
nextElement
public Object nextElement()
Returns the same value as the nextToken
method, except that its declared
return value is Object
rather than String
. It exists so
that this class can implement the Enumeration
interface.
- the next token in the string.
nextToken
public String nextToken()
throws NoSuchElementException,
IllegalArgumentException
Returns the next token from this string tokenizer.
- the next token from this string tokenizer.
nextToken
public String nextToken(String theSeparator)
Returns the next token in this string tokenizer's string. First, the set of
characters considered to be separator by this CSVTokenizer object is changed
to be the characters in the string separator. Then the next token in the
string after the current position is returned. The current position is advanced
beyond the recognized token. The new delimiter set remains the default after this
call.
theSeparator
- the new separator.
- the next token, after switching to the new delimiter set.
setQuate
public void setQuate(String quate)
Sets the quate.