Java.io.StreamTokenizer.lineno()方法实例

java.io.StreamTokenizer.lineno() 方法返回当前行号。

声明

以下是java.io.StreamTokenizer.lineno()方法的声明

public int lineno()

参数

  • NA

返回值

这个方法返回当前流标记生成器的当前行号。

异常

  • NA

例子

下面的示例演示java.io.StreamTokenizer.lineno()方法的用法。

package com.yiibai;import java.io.*;public class StreamTokenizerDemo { public static void main(String[] args) { String text = "Hello. This is a text 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); // set line change as significant st.eolIsSignificant(true); // print the current line number System.out.println("Line Number:" + st.lineno()); // 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."); System.out.println("Line Number:" + st.lineno()); 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(); } }}

让我们编译和运行上面的程序,这将产生以下结果:

Line Number:1Word: Hello.Word: ThisWord: isWord: aWord: textEnd of Line encountered.Line Number:2Word: thatWord: willWord: beWord: splitWord: intoWord: tokens.Number: 1.0+ encountered.Number: 1.0= encountered.Number: 2.0End of File encountered.