OutputStream RTF

2 respostas
H

Olá pessoal,

Estou na tentativa de converter um texto puro em rtf. Conseguí fazê-lo e armazenar em um arquivo rtf:

String txt = "MEU TEXTO"; OutputStream os = new java.io.FileOutputStream("C:\\teste.rtf"); RTFEditorKit rtfKit = new RTFEditorKit(); Document doc = rtfKit.createDefaultDocument(); doc.insertString(0, txt, null); rtfKit.write(os, doc, 0, doc.getLength());

Porém, não queria armazenar em arquivo e sim retornar o rtf como String… tentei substituir o OutputStream por StringWriter (e depois retorno o StringWriter.toString() ), porém compila certinho, mas dá erro. Alguém tem uma idéia?

Obrigado

2 Respostas

T
import java.io.*;
import java.util.*;
import javax.swing.text.*;
import javax.swing.text.rtf.*;

class TesteRTF {
     public static void main(String[] args) throws IOException, BadLocationException {
        String txt = "Meu texto";
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        RTFEditorKit rtfKit = new RTFEditorKit();
        Document doc = rtfKit.createDefaultDocument();
        doc.insertString (0, txt, null);
        rtfKit.write (baos, doc, 0, doc.getLength());
        baos.close();
        System.out.println (baos.toString("Windows-1252"));
    }
}
H

Valeu thingol,

De fato, não me toquei de usar ByteArrayOutputStream…
Ainda caberia um método flush() antes do close() para “forçar” qq gravação que ficou pendente (se bem q nesse caso não existe gravação em arquivo, até sei lá, mas por descargo de consciência…)

Valeu

[]

Criado 25 de abril de 2007
Ultima resposta 25 de abr. de 2007
Respostas 2
Participantes 2