Java 如何在JTextArea中获取指定行

Java 如何在JTextArea中获取指定行,java,swing,file-io,jtextarea,Java,Swing,File Io,Jtextarea,我想将JTextArea的内容写入.txt文件,但我不想丢失新行字符。所以我想一行一行地写它,我不知道如何从JTextArea获取指定的行,您可以使用JTextArea的write方法来完成 JTextArea jArea=new JTextArea(); //do something............ BufferedWriter fileOut = new BufferedWriter(new FileWriter(yourFile)); jArea.write(fileOut

我想将
JTextArea
的内容写入
.txt
文件,但我不想丢失新行字符。所以我想一行一行地写它,我不知道如何从
JTextArea

获取指定的行,您可以使用
JTextArea
write
方法来完成

 JTextArea jArea=new JTextArea();
 //do something............
 BufferedWriter fileOut = new BufferedWriter(new FileWriter(yourFile));
 jArea.write(fileOut);

您可以使用
JtextArea
write
方法来执行此操作

 JTextArea jArea=new JTextArea();
 //do something............
 BufferedWriter fileOut = new BufferedWriter(new FileWriter(yourFile));
 jArea.write(fileOut);
最后我用了:

BufferedWriter bw = new BufferedWriter(new FileWriter(file));                   
                    String ln = System.getProperty("line.separator");
                    String text = jta.getText() ;
                    String as = text.replaceAll("\n", ln);
                    bw.write(as.toString(),0, as.length());
                    bw.close();
但是被接受的答案更好。

最后我用了:

BufferedWriter bw = new BufferedWriter(new FileWriter(file));                   
                    String ln = System.getProperty("line.separator");
                    String text = jta.getText() ;
                    String as = text.replaceAll("\n", ln);
                    bw.write(as.toString(),0, as.length());
                    bw.close();

但是接受的答案更好。

getText()
返回整个文本,当然包括换行符。把这整段文字写到文件里,你就完成了。为什么需要逐行写入?JTextArea可以通过其写入方法为您完成所有这些。只需传入一个输出到文件的BufferedWriter。
getText()
返回整个文本,当然包括换行符。把这整段文字写到文件里,你就完成了。为什么需要逐行写入?JTextArea可以通过其写入方法为您完成所有这些。只需传入一个输出到文件的BufferedWriter,这是更好的方法。1+@HovercraftFullOfEels我使用了不同的方法,但这更好。这是更好的方法。1+@HovercraftFullOfEels我使用了不同的方法,但这更好。