Cargar datos,Imprimir,añadir encabezado y pie de pagina con un JTextArea

hoy es LUNES, día de desempolvar mi baúl de códigos y les traigo una pieza de código muy útil a la hora de imprimir texto en java,en este ejemplo aprenderás a cargar datos desde un fichero de texto de una manera mas rápida y sencilla,colocar encabezado y pie de pagina en la hoja.

primero conozcamos estos elementos 

SwingWorker : diseñado para situaciones donde se necesita tener una tarea de larga ejecución se ejecutan en un subproceso en segundo plano y proporcionar actualizaciones de la interfaz de usuario.
MessageFormat: proporciona un medio para producir mensajes concatenados en forma independiente.

print: 
este método sirve para imprimir el componente.

una vez entendido esto pasamos al código, primero vamos a cargar o leer un fichero de texto esto se lo puede hacer de varias formas pero la mas fácil y casi menos utilizada les digo esto por que al consultar como leer un fichero de texto en java les aparece un código  de varias lineas,pero con el componente JTextArea el cual posee una propiedad que se llama read podemos leer un firchero rápidamente asi:
 
 comp.read( new InputStreamReader(getClass().getResourceAsStream(fileName)),null);