Clase StringTokenizer en Java | Serie 1
Métodos:
- parseNumbers() : java.io.StreamTokenizer.parseNumbers() especifica que el número en StreamTokenizer se analiza, de modo que cada carácter: «0, 1, 2, 3, 4, 5, 6, 7, 8, 9» tiene un atributo numérico.
Cuando el analizador encuentra un token de palabra que tiene el formato de un número de coma flotante de precisión doble, trata el token como un número en lugar de una palabra, estableciendo el campo ttype en el valor TT_NUMBER y colocando el valor numérico del token en el campo nval.
Sintaxis:public void parseNumbers() Parameters : ----------- Return : void
Implementación:
// Java Program illustrating use of parseNumbers() method
import
java.io.*;
public
class
NewClass
{
public
static
void
main(String[] args)
throws
InterruptedException,
FileNotFoundException, IOException
{
FileReader reader =
new
FileReader(
"ABC.txt"
);
BufferedReader bufferread =
new
BufferedReader(reader);
StreamTokenizer token =
new
StreamTokenizer(bufferread);
// Use of parseNumbers() method
// specifies that the number in StreamTokenizer is parsed
token.parseNumbers();
int
t;
while
((t = token.nextToken()) != StreamTokenizer.TT_EOF)
{
switch
(t)
{
case
StreamTokenizer.TT_NUMBER:
System.out.println(
"Number : "
+ token.nval);
break
;
case
StreamTokenizer.TT_WORD:
System.out.println(
"Word : "
+ token.sval);
break
;
}
}
}
}
Nota:
este programa no se ejecutará aquí ya que no existe un archivo ‘ABC’. Puede verificar este código en el compilador de Java en su sistema.
Para verificar este código, cree un archivo ‘ABC’ en su sistema.
El archivo ‘ABC’ contiene:Hola Geeks 1
Este 2 3 es sobre 4
parseNumbers ()Producción :
Word : Hello Word : Geeks Number : 1.0 Word : This Number : 2.0 Number : 3.0 Word : is Word : about Number : 4.0 Word : parseNumbers
- quoteChar() : java.io.StreamTokenizer.quoteChar(int arg) especifica que delimita el carácter coincidente como una constante de string en StreamTokenizer.
Cuando el método nextToken encuentra una constante de string, el campo ttype se establece en el delimitador de string y el campo sval se establece en el cuerpo de la string.
Sintaxis:public void quoteChar(int arg) Parameters : arg : the character to be dilimit Return : void
Implementación:
// Java Program illustrating use of quoteChar() method
import
java.io.*;
public
class
NewClass
{
public
static
void
main(String[] args)
throws
InterruptedException,
FileNotFoundException, IOException
{
FileReader reader =
new
FileReader(
"ABC.txt"
);
BufferedReader bufferread =
new
BufferedReader(reader);
StreamTokenizer token =
new
StreamTokenizer(bufferread);
// specify o as a quote char
token.quoteChar(
'o'
);
int
t;
while
((t = token.nextToken()) != StreamTokenizer.TT_EOF)
{
switch
(t)
{
case
StreamTokenizer.TT_WORD:
System.out.println(
"Word : "
+ token.sval);
break
;
case
StreamTokenizer.TT_NUMBER:
System.out.println(
"Number : "
+ token.nval);
break
;
default
:
System.out.println((
char
) t +
" encountered."
);
}
}
}
}
Nota:
este programa no se ejecutará aquí ya que no existe un archivo ‘ABC’. Puede verificar este código en el compilador de Java en su sistema.
Para verificar este código, cree un archivo ‘ABC’ en su sistema.
El archivo ‘ABC’ contiene:Hola
Geeks
Esto
es
sobre
quoteChar()Producción :
Word : Hell o encountered. Word : Geeks Word : This Word : is Word : ab o encountered. Word : qu o encountered.
- resetSyntax() : java.io.StreamTokenizer.resetSynatx() restablece la sintaxis cuando se cumple un número, de modo que todos los caracteres se establecen como «ordinarios» en StreamTokenizer.
Sintaxis:public void resetSyntax() Parameters : --------- Return : void
Implementación:
// Java Program illustrating use of resetSyntax() method
import
java.io.*;
public
class
NewClass
{
public
static
void
main(String[] args)
throws
InterruptedException,
FileNotFoundException, IOException
{
FileReader reader =
new
FileReader(
"ABC.txt"
);
BufferedReader bufferread =
new
BufferedReader(reader);
StreamTokenizer token =
new
StreamTokenizer(bufferread);
int
t;
while
((t = token.nextToken()) != StreamTokenizer.TT_EOF)
{
switch
(t)
{
case
StreamTokenizer.TT_WORD:
System.out.println(
"Word : "
+ token.sval);
break
;
case
StreamTokenizer.TT_NUMBER:
// Use of resetSyntax()
token.resetSyntax();
System.out.println(
"Number : "
+ token.nval);
break
;
default
:
System.out.println((
char
) t +
" encountered."
);
}
}
}
}
Nota:
este programa no se ejecutará aquí ya que no existe un archivo ‘ABC’. Puede verificar este código en el compilador de Java en su sistema.
Para verificar este código, cree un archivo ‘ABC’ en su sistema.
El archivo ‘ABC’ contiene:Hola
Esto
es
resetSyntax()
1 xmpl
2 🙂
3
Salida:Word : Hello Word : This Word : is Word : resetSyntax ( encountered. ) encountered. Number : 1.0 encountered. x encountered. m encountered. p encountered. l encountered. encountered. encountered. 2 encountered. encountered. : encountered. ) encountered. encountered. encountered. 3 encountered.
- slashSlashComments() : java.io.StreamTokenizer.slashSlashComments(boolean arg) especifica si considerar o no los comentarios de estilo C++ por tokenizador. Si ‘arg’ se establece como verdadero, entonces StreamTokenizer reconoce e ignora los comentarios de estilo C++. ‘//’ se considera como el comienzo de un comentario.
Si el argumento de la bandera es falso, los comentarios de estilo C++ no se tratan de forma especial.
Sintaxis:public void slashSlashComments(boolean arg) Parameters : arg : tells whether to recognise and ignore C++ - style comments or not. Return : void
Implementación:
// Java Program illustrating use of slashSlashComments() method
import
java.io.*;
public
class
NewClass
{
public
static
void
main(String[] args)
throws
InterruptedException,
FileNotFoundException, IOException
{
FileReader reader =
new
FileReader(
"ABC.txt"
);
BufferedReader bufferread =
new
BufferedReader(reader);
StreamTokenizer token =
new
StreamTokenizer(bufferread);
// Use of slashSlashComments()
// Here 'arg' is set to true i.e. to recognise and ignore C++style Comments
boolean
arg =
true
;
token.slashSlashComments(arg);
int
t;
while
((t = token.nextToken()) != StreamTokenizer.TT_EOF)
{
switch
(t)
{
case
StreamTokenizer.TT_WORD:
System.out.println(
"Word : "
+ token.sval);
break
;
case
StreamTokenizer.TT_NUMBER:
System.out.println(
"Number : "
+ token.nval);
break
;
}
}
}
}
Nota:
este programa no se ejecutará aquí ya que no existe un archivo ‘ABC’. Puede verificar este código en el compilador de Java en su sistema.
Para verificar este código, cree un archivo ‘ABC’ en su sistema.
El archivo ‘ABC’ contiene:Este programa es sobre el método slashSlashComments //
Este método considera el ‘método’ en el archivo ABC.txt como un comentario y, por lo tanto, lo ignora.
Producción :Word : This Word : program Word : is Word : about Word : slashSlashComments
- slashStarComments() : java.io.StreamTokenizer.slashStarComments(boolean arg) especifica si considerar o no los comentarios de estilo C por tokenizador. Si ‘arg’ se establece como verdadero, entonces StreamTokenizer reconoce e ignora los comentarios de estilo C. ‘/*……*/’ se considera un comentario.
Sintaxis:public void slashStarComments(boolean arg) Parameters : arg : tells whether to recognise and ignore C - style comments or not. Return : void
Implementación:
// Java Program illustrating use of slashStarComments() method
import
java.io.*;
public
class
NewClass
{
public
static
void
main(String[] args)
throws
InterruptedException,
FileNotFoundException, IOException
{
FileReader reader =
new
FileReader(
"ABC.txt"
);
BufferedReader bufferread =
new
BufferedReader(reader);
StreamTokenizer token =
new
StreamTokenizer(bufferread);
// Use of slashStarComments()
// Here 'arg' is set to true i.e. to recognise and ignore Cstyle Comments
boolean
arg =
true
;
token.slashStarComments(
true
);
int
t;
while
((t = token.nextToken()) != StreamTokenizer.TT_EOF)
{
switch
(t)
{
case
StreamTokenizer.TT_WORD:
System.out.println(
"Word : "
+ token.sval);
break
;
case
StreamTokenizer.TT_NUMBER:
System.out.println(
"Number : "
+ token.nval);
break
;
}
}
}
}
Nota:
este programa no se ejecutará aquí ya que no existe un archivo ‘ABC’. Puede verificar este código en el compilador de Java en su sistema.
Para verificar este código, cree un archivo ‘ABC’ en su sistema.
El archivo ‘ABC’ contiene:Este programa es sobre slashStarComments /* método */ 123
Este método considera el ‘método’ en el archivo ABC.txt como un comentario y, por lo tanto, lo ignora.
Producción :Word : This Word : program Word : is Word : about Word : slashStarComments Number : 123.0
- whitespaceChars() : java.io.StreamTokenizer.whitespaceChars(int low, int high) especifica todos los caracteres en el rango de menor a mayor como espacio en blanco, que sirve solo para separar tokens en InputStream.
Sintaxis:public void whitespaceChars(int low, int high) Parameters : low : lower range of character to be white spaced. high : higher range of character to be white spaced Return : void
Implementación:
// Java Program illustrating use of whitespaceChars() method
import
java.io.*;
public
class
NewClass
{
public
static
void
main(String[] args)
throws
InterruptedException,
FileNotFoundException, IOException
{
FileReader reader =
new
FileReader(
"ABC.txt"
);
BufferedReader bufferread =
new
BufferedReader(reader);
StreamTokenizer token =
new
StreamTokenizer(bufferread);
// Use of whitespaceChars() method
// Here range is low = 'a' to high = 'c'
token.whitespaceChars(
'a'
,
'd'
);
int
t;
while
((t = token.nextToken()) != StreamTokenizer.TT_EOF)
{
switch
(t)
{
case
StreamTokenizer.TT_WORD:
System.out.println(
"Word : "
+ token.sval);
break
;
case
StreamTokenizer.TT_NUMBER:
System.out.println(
"Number : "
+ token.nval);
break
;
}
}
}
}
Nota:
este programa no se ejecutará aquí ya que no existe un archivo ‘ABC’. Puede verificar este código en el compilador de Java en su sistema.
Para verificar este código, cree un archivo ‘ABC’ en su sistema.
El archivo ‘ABC’ contiene:Este programa es sobre whitespaceChars()
Producción :
Word : This Word : progr Word : m Word : is Word : out Word : whitesp Word : eCh Word : rs
Este artículo es aportado por Mohit Gupta 🙂 . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA