bis.close();
if (bis != null) bis.close();
	public static byte[] decodeFromFile(String filename)	{		byte[] decodedData = null;		Base64.InputStream bis = null;		try		{			// Set up some useful variables			java.io.File file = new java.io.File(filename);			byte[] buffer = null;			int length = 0;			int numBytes = 0;			// Check for size of file			if (file.length() > Integer.MAX_VALUE)			{				System.err.println("File is too big for this convenience method ("						+ file.length() + " bytes).");				return null;			} // end if: file too big for int index			buffer = new byte[(int) file.length()];			// Open a stream			bis = new Base64.InputStream(new java.io.BufferedInputStream(					new java.io.FileInputStream(file)), Base64.DECODE);			// Read until done			while ((numBytes = bis.read(buffer, length, 4096)) >= 0)				length += numBytes;			// Save in a variable to return			decodedData = new byte[length];			System.arraycopy(buffer, 0, decodedData, 0, length);		} // end try		catch (java.io.IOException e)		{			System.err.println("Error decoding from file " + filename);		} // end catch: IOException		finally		{			try			{				bis.close();			}			catch (Exception e)			{			}		} // end finally		return decodedData;	} // end decodeFromFile