gpt4 book ai didi

Java JTextPane RTF 保存

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:57:39 25 4
gpt4 key购买 nike

我有以下代码试图将 JTextPane 的内容保存为 RTF。虽然在下面的代码中创建了一个文件,但是它是空的!

关于我做错了什么的任何提示? (像往常一样不要忘记我是初学者!)

if (option == JFileChooser.APPROVE_OPTION) {
////////////////////////////////////////////////////////////////////////
//System.out.println(chooser.getSelectedFile().getName());

//System.out.println(chooser.getSelectedFile().getAbsoluteFile());
///////////////////////////////////////////////////////////////////////////

StyledDocument doc = (StyledDocument)textPaneHistory.getDocument();
RTFEditorKit kit = new RTFEditorKit();

BufferedOutputStream out;

try {
out = new BufferedOutputStream(new FileOutputStream(chooser.getSelectedFile().getName()));

kit.write(out, doc, doc.getStartPosition().getOffset(), doc.getLength());
} catch (FileNotFoundException e) {
} catch (IOException e){
} catch (BadLocationException e){
}
}

编辑:如果我使用 HTMLEditorKit,HTMLEditorKit 就可以工作,这就是我真正想要的。已解决!

最佳答案

            if (textPaneHistory.getText().length() > 0){

JFileChooser chooser = new JFileChooser();
chooser.setMultiSelectionEnabled(false);

int option = chooser.showSaveDialog(ChatGUI.this);

if (option == JFileChooser.APPROVE_OPTION) {

StyledDocument doc = (StyledDocument)textPaneHistory.getDocument();

HTMLEditorKit kit = new HTMLEditorKit();

BufferedOutputStream out;

try {
out = new BufferedOutputStream(new FileOutputStream(chooser.getSelectedFile().getAbsoluteFile()));

kit.write(out, doc, doc.getStartPosition().getOffset(), doc.getLength());

} catch (FileNotFoundException e) {

} catch (IOException e){

} catch (BadLocationException e){

}
}
}

这里是解决方案。如果使用 HTMLEditorKit,它会起作用。

关于Java JTextPane RTF 保存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2725141/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com