Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/05/2014, 18:13
martin0290
 
Fecha de Ingreso: octubre-2009
Mensajes: 84
Antigüedad: 14 años, 7 meses
Puntos: 0
Editar y imprimir archivo RTF

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?

Última edición por martin0290; 12/05/2014 a las 19:48