从HTMLEditor获取字符串文本并将其写入一个文件-Javafx

从HTMLEditor获取字符串文本并将其写入一个文件-Javafx,java,javafx,filewriter,html-editor,Java,Javafx,Filewriter,Html Editor,因此,我尝试实现HMTLEditor,添加了一个名为“保存文本”的按钮。我想获取在编辑器中键入的文本,并将其保存到.txt文件中。但当它“保存”时,里面没有任何内容,也没有显示任何内容。有什么建议吗 这是我的密码: @Override public void start(Stage stage) throws Exception { // HTMLEditor HTMLEditor htmleditor = new HTMLEditor(); stage.setTitle

因此,我尝试实现HMTLEditor,添加了一个名为“保存文本”的按钮。我想获取在编辑器中键入的文本,并将其保存到.txt文件中。但当它“保存”时,里面没有任何内容,也没有显示任何内容。有什么建议吗

这是我的密码:

@Override
public void start(Stage stage) throws Exception {
    // HTMLEditor
    HTMLEditor htmleditor = new HTMLEditor();
    stage.setTitle("HTMLEditor");
    htmleditor.setPrefHeight(450);
    htmleditor.setPrefWidth(800);

    //adding css
    Scene scene = new Scene(htmleditor);
    scene.getStylesheets().add(getClass().getResource("htmleditor.css").toExternalForm());

    stage.setScene(scene);
    stage.show();

    //Save button
    Node node = htmleditor.lookup(".top-toolbar");
    if (node instanceof ToolBar) {
        ToolBar bar = (ToolBar) node;
        Button saveButton = new Button("Save text");
        bar.getItems().add(saveButton);

        saveButton.setOnAction(new EventHandler<ActionEvent>() {

            @Override
            public void handle(ActionEvent event) {
                String path = "OKAY2.txt";
                String htmlText = htmleditor.getHtmlText();

                try {
                    Files.write(Paths.get(path),removeHTML(htmlText).getBytes());
                    htmleditor.setHtmlText("Saving succeded!");
                } catch (IOException e) {
                    htmleditor.setHtmlText("An error has accured: \n" + e.toString());
                }
            }
        });
    }
}

public static void main(String[] args) {
    Application.launch(args);
}

public static String removeHTML(String input) {
    int i = 0;
    String[] str = input.split("");

    String out = "";
    boolean inTag = false;

    for (i = input.indexOf("<"); i < input.indexOf(">"); i++) {
        inTag = true;
    }
    if (!inTag) {
        for (i = 0; i < str.length; i++) {
            out+= str[i];
        }
    }
    return out;
}
@覆盖
public void start(Stage)引发异常{
//HTMLEditor
HTMLEditor HTMLEditor=新HTMLEditor();
stage.setTitle(“HTMLEditor”);
htmleditor.setPrefHeight(450);
htmleditor.setPrefWidth(800);
//添加css
场景=新场景(htmleditor);
scene.getStylesheets().add(getClass().getResource(“htmleditor.css”).toExternalForm());
舞台场景;
stage.show();
//保存按钮
Node=htmleditor.lookup(“.top工具栏”);
if(工具栏的节点实例){
工具栏栏=(工具栏)节点;
按钮保存按钮=新按钮(“保存文本”);
bar.getItems().add(保存按钮);
saveButton.setOnAction(新的EventHandler(){
@凌驾
公共无效句柄(ActionEvent事件){
String path=“OKAY2.txt”;
字符串htmlText=htmleditor.getHtmlText();
试一试{
file.write(path.get(path),removeHTML(htmlText.getBytes());
setHtmlText(“保存成功!”);
}捕获(IOE异常){
htmleditor.setHtmlText(“出现错误:\n”+e.toString());
}
}
});
}
}
公共静态void main(字符串[]args){
应用程序启动(args);
}
公共静态字符串移除HTML(字符串输入){
int i=0;
字符串[]str=input.split(“”);
串出“”;
布尔inTag=false;
对于(i=input.indexOf(“”;i++){
inTag=真;
}
如果(!inTag){
对于(i=0;i
removeHtml中放错括号了吗?看起来for循环除了将标志设置为true之外什么都不做,这会阻止if在removeHtml中添加任何…放错括号?看起来for循环除了将标志设置为true之外什么都不做,这会阻止if添加任何内容。。。