| |||
Generar rtf's Quizas POI pueda resolver tus problemas, son un conjunto de paquetes derivados de un proyecto de Jakarta para escribir en formatos afines a Microsot Office. http://jakarta.apache.org/poi/ Respuesta proporcionada por consultoriajava.com |
| |||
Pero ahora me ocurrio un problema. Necesito insertar datos pero a un archivo ya creado. Sin perder la informacion que posee el archivo creado. Yo logre insertar datos pero pierdo el contenido original. |
| |||
Para añadir al final de un archivo... http://java.sun.com/j2se/1.4.2/docs/api/java/io/FileOutputStream.html#FileOutputStream(java.io.Fil e,%20boolean) Para añadir en medio de un archivo, si no estamos hablando de un RandomAccessFile, entonces necesitas crear un nuevo archivo, escribiendo lo que habia antes, mas el trozo añadido donde toca, y luego cambiar los nombres. Un saludo |
| |||
He probado varias rutinas de las paginas que me han mencionado y otras que he buscado por mi lado. Pero ma ha idomal. No he podido insertar datos a un archivo RTF a partir de uno ya existente y sin perder la informacion original. Incluso he intentado leer 2 archivos rtf para grabarlos en uno solo. Pero tampoco me ha resultado. El tema que cuando realizo este proceso el archivo que genera aparece con todos los caracteres de formato de archivo, tales como : tipo de letra, colores, negritas, autor del archivo, etc. tambien aparece el texto pero en medio de todos estos caracteres especiales. Me imagino que debe existir una funcion que permita entender cuando lee un RTF. Espero me puedan ayudar. |
| |||
Respuesta: insertar datos en archivo rtf ese es mi codigo, solo rescato primero lo k habia en el archivo y luego lo copio todo de nuevo public class Escribir_Log { public static void main(String[] args) { FileWriter fichero = null; PrintWriter pw = null; File archivo = null; FileReader fr = null; BufferedReader br = null; //Debiera calcular la hora //System.out.println( Clave ); Calendar Fecha = Calendar.getInstance(); String segundo=Integer.toString(Fecha.get(Calendar.SECOND )); String minuto=Integer.toString(Fecha.get(Calendar.MINUTE) ); String hora=Integer.toString(Fecha.get(Calendar.HOUR)); String dia=Integer.toString(Fecha.get(Calendar.DATE)); String mes=Integer.toString(Fecha.get(Calendar.MONTH)); String anio=Integer.toString(Fecha.get(Calendar.YEAR)); String Clave= anio+mes+dia+hora+minuto+segundo; String linea="Siguiente Log"; try { fichero = new FileWriter("c:/Log.txt", true); // Apertura del fichero y creacion de BufferedReader para poder // hacer una lectura comoda (disponer del metodo readLine()). archivo = new File ("C:\\Log.txt"); fr = new FileReader (archivo); br = new BufferedReader(fr); // Lectura del fichero while((linea=br.readLine())!=null) { linea= linea+"\n"+linea; } } catch(Exception e){ e.printStackTrace(); }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 (Exception e2){ e2.printStackTrace(); } } try { pw = new PrintWriter(fichero); pw.println(linea); pw.println(Clave);//i. Clave (fecha+hora) pw.println(anio+"_"+mes+"_"+dia);//i. Fecha (año_mes_dia) pw.println(hora+"_"+minuto+"_"+segundo);//(hora_min_seg). //iv. IP_origen del mensaje. //pw.println(fraseCliente);//v. 10 caracteres del texto recibido } catch (Exception e) { e.printStackTrace(); } finally { try { // Nuevamente aprovechamos el finally para // asegurarnos que se cierra el fichero. if (null != fichero) fichero.close(); } catch (Exception e2) { e2.printStackTrace(); } } } } |