public void writeFile(String str, String filename) throws Exception 
   {
      // Open a writer to the file, then write the string.
      BufferedWriter bwriter;//writer to the file
      String fullfilepath;//path for the output file
      try 
      {
         bwriter = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(filename)));
         bwriter.write(str);
         bwriter.flush();
         bwriter.close();
      }//try
      catch(Exception e) 
      {
         throw e;
      }//catch
   }//writeFile
   public String readFile(String filename) throws Exception 
   {
      //Read the file into a string buffer, then return as a string.
      StringBuffer buf;//the intermediary, mutable buffer
      BufferedReader breader;//reader for the template files
      try 
      {
         breader = new BufferedReader(new FileReader(filename));//header
         buf = new StringBuffer();
         while(breader.ready()) 
            buf.append((char)breader.read());
         breader.close();
      }//try
      catch(Exception e) 
      {
         throw e;
      }//catch
      return buf.toString();
   }//readFile