StreamTokenizer类pushBack()方法 (StreamTokenizer Class pushBack() method)
pushBack() method is available in java.io package.
pushBack()方法在java.io包中可用。
pushBack() method is used to cause the next call of this StreamTokenizer to return the present value in the ttype field and not to update nval or sval field value.
pushBack()方法用于使该StreamTokenizer的下一次调用返回ttype字段中的当前值,而不更新nval或sval字段值。
pushBack() method is a non-static method, it is accessible with the class object only and if we try to access the method with the class name then we will get an error.
pushBack()方法是一种非静态方法,只能通过类对象访问,如果尝试使用类名称访问该方法,则会收到错误消息。
pushBack() method does not throw an exception at the time of pushing back.
pushBack()方法在推回时不会引发异常。
Syntax:
句法:
Public void pushBack();
Parameter(s):
参数:
It does not accept any parameter.
它不接受任何参数。
Return value:
返回值:
The return type of the method is void, it returns nothing.
该方法的返回类型为void ,不返回任何内容。
Example:
例:
// Java program to demonstrate the example
// of void pushBack() method of StreamTokenizer
import java.io.*;
public class PushBack {
public static void main(String[] args) {
String str = "Hi, This is \n a mathematical expression :\n " +
" 2 * 4 = 8 " + "8 + 5 = 13";
try {
// Instantiates FileOutputStream and ObjectOutputStream
FileOutputStream fos_stm = new FileOutputStream("D:\\includehelp.txt");
ObjectOutputStream obj_out_stm = new ObjectOutputStream(fos_stm);
// By using writeUTF() method is to
// write the given string in the file
obj_out_stm.writeUTF(str);
obj_out_stm.flush();
// Instantiates FileOutputStream and ObjectOutputStream
ObjectInputStream obj_in_stm = new ObjectInputStream(new FileInputStream("D:\\includehelp.txt"));
// Instantiates StreamTokenizer and Reader
Reader reader = new BufferedReader(new InputStreamReader(obj_in_stm));
StreamTokenizer st = new StreamTokenizer(reader);
// Here, we are considering initially
// file is not empty
boolean end_of_file = false;
do {
// By using nextToken() method is to
// parse the next token from the stream
int token = st.nextToken();
switch (token) {
case StreamTokenizer.TT_EOF:
System.out.println("End of File Found");
end_of_file = true;
break;
case StreamTokenizer.TT_EOL:
System.out.println("End of Line Found");
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 + " Found.");
}
// By using pushBack() method is to
// push back the last token
st.pushBack();
token = st.nextToken();
switch (token) {
case StreamTokenizer.TT_EOF:
System.out.println("End of File Found");
end_of_file = true;
break;
case StreamTokenizer.TT_EOL:
System.out.println("End of Line Found");
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 + " Found.");
}
} while (!end_of_file);
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
Output
输出量
@ Found.
@ Found.
word: Hi
word: Hi
, Found.
, Found.
word: This
word: This
word: is
word: is
word: a
word: a
word: mathematical
word: mathematical
word: expression
word: expression
: Found.
: Found.
number: 2.0
number: 2.0
* Found.
* Found.
number: 4.0
number: 4.0
= Found.
= Found.
number: 8.0
number: 8.0
number: 8.0
number: 8.0
+ Found.
+ Found.
number: 5.0
number: 5.0
= Found.
= Found.
number: 13.0
number: 13.0
End of File Found
End of File Found
翻译自: https://www.includehelp.com/java/streamtokenizer-pushback-method-with-example.aspx