private void parseLeapSecondsFile ( ) throws Exception { printVerbose ( "Parsing leap second file: " + leapSecondsFile ) ; int lineNumber = 1 ; String line = null ; BufferedReader in = null ; try { in = new BufferedReader ( new FileReader ( leapSecondsFile ) ) ; for ( ; ( line = in . readLine ( ) ) != null ; lineNumber ++ ) { int index = line . indexOf ( ' ' ) ; // remove comments (doesn't handle # in quotes) if ( index >= 0 ) { line = line . substring ( 0 , index ) ; } if ( line . trim ( ) . length ( ) == 0 ) { // ignore blank lines continue ; } LeapSecondRule secondRule = parseLeapSecondRule ( line ) ; leapSeconds . put ( secondRule . leapDate , secondRule . secondAdjustment ) ; } } catch ( Exception ex ) { throw new Exception ( "Failed while processing file '" + leapSecondsFile + "' on line " + lineNumber + " '" + line + "'" , ex ) ; } finally { try { if ( in != null ) { in . close ( ) ; } } catch ( Exception ex ) { // ignore NPE and IOE } } }
Parses the leap seconds file .