2013-08-01 57 views
2

我目前正在将所有使用“J”组件 的Java旧应用程序转换为更新,更流行的JavaFX平台。将TextArea的内容写入文件

以前在我的一个应用程序中,您可以将TextArea的内容写入文件中,并且文本区域以图形方式显示,文本间隔很小。你通过使用JTextArea类继承的write()方法来做到这一点。

有没有办法用JavaFX文本区域来做到这一点,或者我甚至可以通过文件解析并以这种方式进行解析?

援助将不胜感激!在JTextArea中用来写入文件

代码:

public static void writeFile(File fileName) throws IOException{ 
    BufferedWriter fileOut = new BufferedWriter(new FileWriter(fileName)); 
    Gui.getTextArea().write(fileOut); 
} 

回答

5

你可以通过遍历文本区域和内容写入文件:

ObservableList<CharSequence> paragraph = textArea.getParagraphs(); 
    Iterator<CharSequence> iter = paragraph.iterator(); 
    try 
    { 
     BufferedWriter bf = new BufferedWriter(new FileWriter(new File("textArea.txt"))); 
     while(iter.hasNext()) 
     { 
      CharSequence seq = iter.next(); 
      bf.append(seq); 
      bf.newLine(); 
     } 
     bf.flush(); 
     bf.close(); 
    } 
    catch (IOException e) 
    { 
     e.printStackTrace(); 
    } 
+0

非常感谢。伟大的方式做到这一点!谢谢你的帮助 –

0

试试这个代码

public void fileWriter(File savePath, TextArea textArea) { 
     try { 
      BufferedWriter bf = new BufferedWriter(new FileWriter(savePath)); 
      bf.write(textArea.getText()); 
      bf.flush(); 
      bf.close(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 

    }