
- Java.io - Home
- Java.io - BufferedInputStream
- Java.io - BufferedOutputStream
- Java.io - BufferedReader
- Java.io - BufferedWriter
- Java.io - ByteArrayInputStream
- Java.io - ByteArrayOutputStream
- Java.io - CharArrayReader
- Java.io - CharArrayWriter
- Java.io - Console
- Java.io - DataInputStream
- Java.io - DataOutputStream
- Java.io - File
- Java.io - FileDescriptor
- Java.io - FileInputStream
- Java.io - FileOutputStream
- Java.io - FilePermission
- Java.io - FileReader
- Java.io - FileWriter
- Java.io - FilterInputStream
- Java.io - FilterOutputStream
- Java.io - FilterReader
- Java.io - FilterWriter
- Java.io - InputStream
- Java.io - InputStreamReader
- Java.io - LineNumberInputStream
- Java.io - LineNumberReader
- Java.io - ObjectInputStream
- Java.io - ObjectInputStream.GetField
- Java.io - ObjectOutputStream
- io - ObjectOutputStream.PutField
- Java.io - ObjectStreamClass
- Java.io - ObjectStreamField
- Java.io - OutputStream
- Java.io - OutputStreamWriter
- Java.io - PipedInputStream
- Java.io - PipedOutputStream
- Java.io - PipedReader
- Java.io - PipedWriter
- Java.io - PrintStream
- Java.io - PrintWriter
- Java.io - PushbackInputStream
- Java.io - PushbackReader
- Java.io - RandomAccessFile
- Java.io - Reader
- Java.io - SequenceInputStream
- Java.io - SerializablePermission
- Java.io - StreamTokenizer
- Java.io - StringBufferInputStream
- Java.io - StringReader
- Java.io - StringWriter
- Java.io - Writer
- Java.io package Useful Resources
- Java.io - Discussion
Java - StreamTokenizer quoteChar(int ch) method
Description
The Java StreamTokenizer quoteChar(int ch) method specifies that matching pairs of this character delimit string constants in this tokenizer.
When the nextToken method encounters a string constant, the ttype field is set to the string delimiter and the sval field is set to the body of the string.
If a string quote character is encountered, then a string is recognized, consisting of all characters after (but not including) the string quote character, up to (but not including) the next occurrence of that same string quote character, or a line terminator, or end of file. The usual escape sequences such as "\n" and "\t" are recognized and converted to single characters as the string is parsed.
Any other attribute settings for the specified character are cleared.
Declaration
Following is the declaration for java.io.StreamTokenizer.quoteChar(int ch) method.
public void quoteChar(int ch)
Parameters
ch − The character.
Return Value
This method does not return a value.
Exception
NA
Example - Usage of StreamTokenizer quoteChar(int ch) method
The following example shows the usage of StreamTokenizer quoteChar(int ch) method.
StreamTokenizerDemo.java
package com.tutorialspoint; import java.io.BufferedReader; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStreamReader; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.io.Reader; import java.io.StreamTokenizer; public class StreamTokenizerDemo { public static void main(String[] args) { String text = "Hello. This is a text \n that will be split " + "into tokens. 1 + 1 = 2"; try { // create a new file with an ObjectOutputStream FileOutputStream out = new FileOutputStream("test.txt"); ObjectOutputStream oout = new ObjectOutputStream(out); // write something in the file oout.writeUTF(text); oout.flush(); // create an ObjectInputStream for the file we created before ObjectInputStream ois = new ObjectInputStream(new FileInputStream("test.txt")); // create a new tokenizer Reader r = new BufferedReader(new InputStreamReader(ois)); StreamTokenizer st = new StreamTokenizer(r); // specify o as a quote char st.quoteChar('o'); // print the stream tokens boolean eof = false; do { int token = st.nextToken(); switch (token) { case StreamTokenizer.TT_EOF: System.out.println("End of File encountered."); eof = true; break; case StreamTokenizer.TT_EOL: System.out.println("End of Line encountered."); break; case StreamTokenizer.TT_WORD: System.out.println("Word: " + st.sval); break; case StreamTokenizer.TT_NUMBER: System.out.println("Number: " + st.nval); break; default: System.out.println((char) token + " encountered."); if (token == '!') { eof = true; } } } while (!eof); } catch (Exception ex) { ex.printStackTrace(); } } }
Output
Let us compile and run the above program, this will produce the following result −
Word: AHell o encountered. Word: that Word: will Word: be Word: split Word: int o encountered. Word: kens. Number: 1.0 + encountered. Number: 1.0 = encountered. Number: 2.0 End of File encountered.
Example - Use double quotes (") to treat quoted text as one token
The following example shows the usage of StreamTokenizer quoteChar(int ch) method.
StreamTokenizerDemo.java
package com.tutorialspoint; import java.io.IOException; import java.io.Reader; import java.io.StreamTokenizer; import java.io.StringReader; public class StreamTokenizerDemo { public static void main(String[] args) throws IOException { String input = "\"Hello World\" test"; Reader reader = new StringReader(input); StreamTokenizer tokenizer = new StreamTokenizer(reader); tokenizer.quoteChar('"'); // Set " as the quote character System.out.println("Tokens:"); while (tokenizer.nextToken() != StreamTokenizer.TT_EOF) { if (tokenizer.ttype == '"') { System.out.println("Quoted string: " + tokenizer.sval); } else if (tokenizer.ttype == StreamTokenizer.TT_WORD) { System.out.println("Word: " + tokenizer.sval); } } } }
Output
Let us compile and run the above program, this will produce the following result−
Tokens: Quoted string: Hello World Word: test
Explanation
The quoted string "Hello World" is returned as one token.
sval contains Hello World (without quotes).
ttype is the quote character (").
Example - Use single quote (') as quote character
The following example shows the usage of StreamTokenizer quoteChar(int ch) method.
StreamTokenizerDemo.java
package com.tutorialspoint; import java.io.IOException; import java.io.Reader; import java.io.StreamTokenizer; import java.io.StringReader; public class StreamTokenizerDemo { public static void main(String[] args) throws IOException { String input = "'data set' is loaded"; Reader reader = new StringReader(input); StreamTokenizer tokenizer = new StreamTokenizer(reader); tokenizer.quoteChar('\''); // Set single quote as quote character System.out.println("Tokens:"); while (tokenizer.nextToken() != StreamTokenizer.TT_EOF) { if (tokenizer.ttype == '\'') { System.out.println("Quoted string: " + tokenizer.sval); } else if (tokenizer.ttype == StreamTokenizer.TT_WORD) { System.out.println("Word: " + tokenizer.sval); } } } }
Output
Let us compile and run the above program, this will produce the following result−
Tokens: Quoted string: data set Word: is Word: loaded
Explanation
The tokenizer treats 'data set' as one token.
The surrounding single quotes are not included in sval.