StreamTokenizer类eolIsSignificant()方法 (StreamTokenizer Class eolIsSignificant() method)
eolIsSignificant() method is available in java.io package.
eolIsSignificant()方法在java.io包中可用。
eolIsSignificant() method is used to identifies whether the end of the line is considered as tokens or not. When the boolean variable is set to true if indicates the end of the line is considered as tokens and nextToken() returns TT_EOL and set the type field to this value if an end of the line is read when the boolean is set to false, it indicates the end of the line is considered as whitespace and distribute only to separate tokens.
eolIsSignificant()方法用于识别行尾是否被视为标记。 当布尔变量设置为true时,如果指示将行的末尾视为令牌,并且nextboolean()返回TT_EOL并将类型字段设置为该值(如果在布尔值设置为false时读取了行的末尾),则表示该行的末尾被视为空白,并且仅分配给单独的令牌。
eolIsSignificant() 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.
eolIsSignificant()方法是一种非静态方法,只能通过类对象访问,如果尝试使用类名称访问该方法,则会收到错误消息。
eolIsSignificant() method does not throw an exception at the time of checking end-of-line is significant.
在检查行尾是否有意义时, eolIsSignificant()方法不会引发异常。
Syntax:
句法:
Public void eolIsSignificant(boolean status);
Parameter(s):
参数:
boolean status – This parameter is set to true, when it identifies that End-Of-Line characters are separate tokens otherwise it identifies that End-Of-Line characters are whitespace.
布尔状态 –当它标识行尾字符是单独的标记时,此参数设置为true,否则它标识行尾字符是空白。
Return value:
返回值:
The return type of the method is void, it returns nothing.
该方法的返回类型为void ,不返回任何内容。
Example:
例:
// Java program to demonstrate the example
// of void eolIsSignificant(boolean status) method of
// StreamTokenizer
import java.io.*;
public class EolIsSignificant {
public static void main(String[] args) {
String str = "Hi, This is 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);
// By using eolIsSignificant() method is to
// set the end of line treats as whitespace
// i.e "\n"considers as whitespace instead of
// End of Line found
st.eolIsSignificant(false);
// Here, we are considering initially
// file is not empty
boolean end_of_file = false;
while (!end_of_file) {
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.");
}
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
Output
输出量
= Found.
word: Hi
, Found.
word: This
word: is
word: a
word: mathematical
word: expression
: Found.
number: 2.0
* Found.
number: 4.0
= Found.
number: 88.0
+ Found.
number: 5.0
= Found.
number: 13.0
End of File Found
翻译自: https://www.includehelp.com/java/streamtokenizer-eolIssignificant-method-with-example.aspx