Tengo armado un archivo RTF con word lo cual necesito que se edite algunas etiquetas y luego imprimirlo. Visualizar el archivo no interesa, solo es necesario editar las etiquetas.
Ejemplo de etiquetas:
#de#
#para#
#expediente#
Maneje muy poco lo que es archivo en java, pero me doy una idea de lo que necesito. Seria abrir el archivo, buscar la etiqueta y remplazarla por el contenido. El problema esta que al leerlo al ser tan extenso tarda mucho. No es necesario abrir y leer todo el archivo (no se hacerlo de otra manera), solo buscar la etiqueta y remplazarla.
Algun ejemplo para darme o idea?
Saludos
Edito:
Estuve buscando y probando, que les parece esta solucion?
Código:
Lo que hace es buscar por offset (utilizo un editor hex para sacar la frase). Lo bueno es que va directo al punto donde se encuentra la etiqueta y editarla.public void imprimirRemito() { File archivo = null; FileReader fr = null; BufferedReader br = null; try { // Apertura del fichero y creacion de BufferedReader para poder // hacer una lectura comoda (disponer del metodo readLine()). archivo = new File("remitos.rtf"); fr = new FileReader(archivo); StringBuilder out = new StringBuilder(); char[] buffer = new char[(int) archivo.length()]; fr.read(buffer, 0, buffer.length); out.append(buffer, 4364260, 4); } catch (IOException e) { } finally { // En el finally cerramos el fichero, para asegurarnos // que se cierra tanto si todo va bien como si salta // una excepcion. try { if (null != fr) { fr.close(); } } catch (IOException e2) { } } }
Es buena solucion?