2013-08-01 161 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(); 
     } 

    }