//rf.java
//javac rf.java
//java rf
import java.util.*;
import java.io.*;
class rf{
    public static void main(String xx[ ]) {
       new rf( );
    }
    rf( ) {
       prepareIO( );
       readTest( );
    }
  public static final String FileName = "fff.txt";
  BufferedReader br=null;
  PrintStream cout = new PrintStream(System.out);
  void prepareIO( ) {
     try{
        FileReader fr = new FileReader( FileName );
        br = new BufferedReader( fr );
     }catch(Exception e) { e.printStackTrace( ); }
     //
  }//prepareIO(
  int n = 0; // total record
  void readTest( ) {
      String s=null, s1=null, s2=null;
      StringTokenizer stk = null;
      n = 0;
      while(true) {
         try {
            s = br.readLine( );
            if(s == null ) break; // EOF encounted
            if(s.equals("")) continue; // EMPTY String/Line
            if(s.charAt(0) == '#') {
               n = n+1; 
               cout.println("=== reading record# " + n);
               continue;  // next Record
            }// '#'
            stk = new StringTokenizer(s, " \t");  // space, TAB
            s1 = stk.nextToken( );
            s2 = stk.nextToken( );  // will crash if no more Token
            //if(s.hasMoreTokens( ) ) s2 = stk.nextToken( );
            if(s1.charAt(0) == 'i') cout.println("IP is " + s2);
            if(s1.equalsIgnoreCase("node:")) cout.println("The NODE is " + s2);
            // if ...
         }catch(Exception e) { e.printStackTrace( ); }
      }//while(
      cout.println("Total " + n + " records.");
  }//readTest(
  //
}//class
/*** fff.txt
#
node: haha
ip: 140.113.23.135
what: gg.yy.xxx.wwwww
#
node: haha
ip: 140.113.33.235
what: ggg.yyy.uux.www
======================eof


F:\javaTest>javac rf.java

F:\javaTest>java rf
=== reading record# 1
The NODE is haha
IP is 140.113.23.135
=== reading record# 2
The NODE is haha
IP is 140.113.33.235
Total 2 records.

F:\javaTest>
**************************/
