如何以.rtf格式保存文件

时间:2013-02-20 13:31:27

标签: java swing file-io rtf jfilechooser

我正在使用JFileChooser来创建保存功能。 但我想以.rtf格式保存我的文件我该怎么做?

我现在的代码是:

@Override
    public void actionPerformed(ActionEvent e) {

        JFileChooser saveFile = new JFileChooser();
        int option = saveFile.showSaveDialog(null);
        saveFile.setDialogTitle("Save the file...");
//      saveFile.setFileFilter(new FileNameExtensionFilter("Text Files", "txt", "rtf"));

        if (option == JFileChooser.APPROVE_OPTION) {
            try {
                BufferedWriter writer = new BufferedWriter(new FileWriter(saveFile.getSelectedFile().getPath()));
                writer.write(text);
                writer.close();

            } catch (IOException ex) {

                ex.printStackTrace();
                System.out.println(ex.getMessage());
                JOptionPane.showMessageDialog(null, "Failed to save the file");
            }
        }
    }//End of method
}//End of inner class

所以我需要实现一个将文件保存到.rtf

的代码

1 个答案:

答案 0 :(得分:2)

假设(在没有SSCCE的情况下)JEditorPane已设置为text/rtf且包含一些格式化文本,序列化它的最简单方法是:

editorPane.write( writer );

有关详细信息,请参阅JTextComponent.write(Writer)