/** * Title: SerializeArgs * Description: Using Serializable interface and ObjectStreams * to read and write args to a file. * * @author hollingd@cs.rpi.edu */ import java.io.*; // save argv in a file as an array of Strings public class SerializeArgs { // The name of the file we read/write static final String fileName = "saveargs"; static public void main(String []args) { // first read whatever was last saved in the file read(); // now save whatever we got in args write(args); } /** read will read from the file, treating it as an * objectstream. The assumption is that the file contains * a copy of argv from the last time the program was run... */ static void read() { String []blah; try { ObjectInputStream ois = new ObjectInputStream( new FileInputStream(fileName)); blah = (String[]) ois.readObject(); // print out what we got System.out.println("Here is what we found in " + fileName); for (String s : blah) { System.out.println(s); } } catch (IOException ioe) { System.out.println("Reading failed - no file ?"); } catch (ClassNotFoundException cnfe) { System.out.println("Something is wrong with the file...."); } } /** write will serialize the arrary of strings and write * to the file. */ static void write(String[] args) { try { ObjectOutputStream dos = new ObjectOutputStream( new FileOutputStream(fileName)); dos.writeObject(args); dos.close(); } catch (IOException ioe) { System.out.println("Error writing to " + fileName); } } }