public static final String getFileContents(String file) throws Exception
  {
    InputStream is = null;
    if (!GoCoin.hasValue(file)) { throw new FileNotFoundException("File must be passed!"); }
    try
    {
      File f = new File(file);
      if (!f.exists()) { throw new FileNotFoundException("File ["+file+"] not found!"); }
      is = new FileInputStream(f);
      BufferedReader in = new BufferedReader(new InputStreamReader(is));
      String line = "";
      StringBuilder sb = new StringBuilder();
      //if for some crazy reason there are multiple lines, the last line wins
      while ((line = in.readLine()) != null)
      {
        sb.append(line).append("\n");
      }
      return sb.toString();
    }
    catch (Exception e)
    {
      throw e;
    }
    finally
    {
      if (is != null)
      {
        try { is.close(); }
        catch (IOException e) { }
      }
    }
  }