/** DataSets class: the data sets for an animation **/ package ciips.animation; import java.awt.*; import java.io.*; import java.net.*; import java.util.*; public class DataSets { private String base_data_file_name; // private String names[]; private NamedIntList[] lists; private static final boolean DEBUG = true; public DataSets( AlgAnimFrame frame, String name ) /* throws Exception */ { int k; int n_data_files = 0; base_data_file_name = name; String fn, names[]; names = getFileNames( frame ); n_data_files = ((names == null)?0:names.length); if( n_data_files > 0 ) { lists = new NamedIntList[ n_data_files ]; for(k=0;k " + lists[k]); } } } } /** Find the list of file names with a given prefix and numeric extensions **/ public String[] getFileNames( AlgAnimFrame frame ) { File f; String n[] = null; String names[] = new String[100]; // Arbitrary maximum int cnt = 0; URL base_name = frame.getApplet().getCodeBase(); for( cnt=0;cnt<99;cnt++ ) { String fn = base_data_file_name + cnt; try { URL dataURL = new URL( base_name, fn ); // URLConnection c = dataURL.openConnection(); // long x = c.getDate(); // System.out.println("AlgThread:getFN - " + cnt + ": " + fn + " date " + x ); // Object o = c.getContent(); // if ( o == null ) break; InputStream is = dataURL.openStream(); byte[] b = new byte[6]; int nb = is.read( b ); if ( nb <= 0 ) break; // Assume that it we get here, we had a valid connection names[cnt] = fn; System.out.println("AlgThread:getFN - " + cnt + ": " + fn + " [" + b + "]" ); } catch (IOException e) { break; } } if ( cnt <= 0 ) { System.out.println("DataSets:getFileNames base_name [" + base_data_file_name + "] - none found"); } else { System.out.println("DataSets:getFileNames - " + cnt + " found"); n = new String[cnt]; for( int j=0;j