Hola amigos les hago una consulta,
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:
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) {
}
}
}
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.
Es buena solucion?