我已经编写了从我的文本区域保存文件的代码,问题是它将它全部保存在新文本文件中的一行而不是我的文本框中。我的代码是
String text = dna_ta.getText();
JFileChooser chooser = new JFileChooser();
chooser.setCurrentDirectory( new File( "./") );
int actionDialog = chooser.showSaveDialog(this);
if (actionDialog == JFileChooser.APPROVE_OPTION)
{
BufferedWriter out = null;
try {
File fileName = new File(chooser.getSelectedFile( ) + "" );
if(fileName == null)
return;
if(fileName.exists())
{
actionDialog = JOptionPane.showConfirmDialog(this,
"Replace existing file?");
if (actionDialog == JOptionPane.NO_OPTION)
return;
}
out = new BufferedWriter(new FileWriter(fileName));
out.write(text);
out.close();
在我的文本区域中如下
asd
aaaaaa
但在我的保存文本文件中,它如下
asdaaaaaa
我无法弄清楚我出错的地方将其保存为与我的textarea相同的格式。谢谢你
答案 0 :(得分:4)
您可以使用JTextArea的write(...)
方法为您执行此操作:
out = new BufferedWriter(new FileWriter(fileName));
dna_ta.write(out);
out.close(); // after first checking if null
从JTextComponent派生的所有组件(包括JTextArea)都使用此方法,该方法将使用特定于操作系统的新行字符编写新行。