java - 如何将文件保存为 .rtf 格式

标签 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 中的代码

最佳答案

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

editorPane.write( writer );

参见JTextComponent.write(Writer)了解详情。

关于java - 如何将文件保存为 .rtf 格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14981115/

相关文章:

java - 如何为我的井字游戏添加计分器

python - 如何删除文本文件中的换行符?

java - 从千兆字节文件中读取

java - 来自另一个程序的 Ctrl+C 按键监听器

java - 在opencv java包装器中使用方法convertTo

java - 访问修饰符 protected

java - 如何获取Java应用程序的鼠标位置?

java - 为什么我的线程没有唤醒? ( java )

java - JLayeredPane 中的透明 JPanel

c - 文件中打印的额外字符