Creating a writable hashtable: public class SymbolTable extends Hashtable implements Serializable { } Delete/Add to the hash table (assuming name is the key): symbolTable.remove(sb.name); symbolTable.put(sb.name,sb); For going through the hash table: Enumeration k = symbolTable.keys(); while(k.hasMoreElements()) { Symbol sb = (Symbol)symbolTable.get(k.nextElement()); System.out.println(sb.name + " = " + sb.value); } Quiz: Write a class called Quiz7, Symbol, SymbolTable. getInput(String fileName) From standard input read expressions such as Pi = 3.1415926 e = 2.718 x = 56.43 Put the symbols in SymbolTable. Write the entire SymbolTable to a file. PrintTable(String fileName) Read the entire symbol table from the file and Print it out using Enumeration For opening the files (you need to import java.awt.*): FileDialog openFileDialog = new FileDialog(this,"What file would you like to open?", FileDialog.LOAD); openFileDialog.show(); String fileName = openFileDialog.getFile(); if(fileName==null)return; fileName = openFileDialog.getDirectory()+fileName; try{ ObjectInputStream out = new ObjectInputStream( new FileInputStream(fileName)); Writable loaded = new Writable(); loaded = (Writable)out.readObject(); System.out.println(loaded.x+" "+loaded.y); out.close(); }catch(Exception x) { System.err.println(x); } For saving the files: FileDialog saveFileDialog = new FileDialog (this,"What file would you like to save to?",FileDialog.SAVE); saveFileDialog.show(); String fileName = saveFileDialog.getFile(); if(fileName==null)return; fileName = saveFileDialog.getDirectory()+fileName; try{ ObjectOutputStream out = new ObjectOutputStream( new FileOutputStream(fileName)); Writable test = new Writable(); test.x = 45.89; test.y = 89.45; out.writeObject(test); out.close(); }catch(IOException x) { System.err.println(x); }