} else { System.err.println("***main() unrecognized command line argument \""+arg+"\"!***"); usage();
  static public void main(String args[])   {    String filename = null;    if (args.length < 1) {      usage();    }    for (int i=0; i<args.length; i++) {      String arg = args[i];      if (arg.charAt(0) != '-') {	if(debug>=2)System.out.println("CommandLineOptions.processArgs() filenames = \""+arg+"\"");	filename = arg;      } else if (arg.compareTo("-length") == 0) {	String Length = args[++i];	try {	  length = Integer.parseInt(Length);	} catch (NumberFormatException e) {	  System.out.println("***main() -length "+Length+" throws NumberFormatException!***");	}      }    }    if (filename == null) {      System.out.println("Must specify filename!");      usage();    }    DataInputStream input_file = Utilities.openDataInputStream(filename);    int index = 0;    int QUANTUM = 16;    byte[] quadword = new byte[QUANTUM];    while (true) {      try {	byte atom = input_file.readByte();	if ((index % QUANTUM) == 0) System.out.print(index+": ");	System.out.print(atom+" ");	quadword[index%QUANTUM] = atom;	index++;	if ((index % QUANTUM) == 0) {	  System.out.print("  \"");	  for (int i=0; i<QUANTUM; i++ ) {	    System.out.print((char)quadword[i]);	  }	  System.out.println("\"");	  if (index > length) break;	}      } catch (EOFException e) {	if(debug>=2)System.out.println("    EOF in "+filename+"!");	break;      } catch (IOException e) {	System.out.println("*** IO Exception in "+filename+"!***");	System.exit(-1);      }    }  }