code: 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
              }
          }
      }
docs: Parses the leap seconds file.
  
  @throws Exception if an error occurs