/** * Sync the file * * @return true if needed to sync * @throws IOException problem synching the file */ public boolean sync() throws IOException { // printStack("***************************** sync ************************", 100); // System.out.printf("check sync on %s (%s) %n", raf.getLocation(), // Calendar.getInstance().getTime()); if (gemreader.getInitFileSize() < raf.length()) { long start = System.currentTimeMillis(); Trace.msg( "GEMPAKStationIOSP.sync: file " + raf.getLocation() + " is bigger: " + raf.length() + " > " + gemreader.getInitFileSize()); Trace.call1("GEMPAKStationIOSP.sync: reader.init"); gemreader.init(raf, true); Trace.call2("GEMPAKStationIOSP.sync: reader.init"); Trace.call1("GEMPAKStationIOSP.sync: buildNCFile"); // reconstruct the ncfile objects buildNCFile(); Trace.call2("GEMPAKSIOSP.sync: buildNCFile"); // System.out.printf("sync on %s took %d msecs%n", raf.getLocation(), // (System.currentTimeMillis()-start)); return true; } return false; }