public static boolean decodeFileToFile( String infile, String outfile )
    {
        boolean success = false;
        java.io.InputStream in = null;
        java.io.OutputStream out = null;
        try{
            in  = new Base64.InputStream( 
                      new java.io.BufferedInputStream( 
                      new java.io.FileInputStream( infile ) ), 
                      Base64.DECODE );
            out = new java.io.BufferedOutputStream( new java.io.FileOutputStream( outfile ) );
            byte[] buffer = new byte[65536]; // 64K
            int read = -1;
            while( ( read = in.read(buffer) ) >= 0 ){
                out.write( buffer,0,read );
            }   // end while: through file
            success = true;
        } catch( java.io.IOException exc ){
            exc.printStackTrace();
        } finally{
            try{ if (in != null) in.close();  } catch( Exception exc ){}
            try{ if (out != null) out.close(); } catch( Exception exc ){}
        }   // end finally
        
        return success;
    }   // end decodeFileToFile