FileWriter fw =new FileWriter(f);  //File f
  BufferedWriter bw=new BufferedWriter(fw);
  try
  {
 bw.write(mainText.getText());  //JAreaText  mainText
 bw.flush();
  }写入
abc
def
gh
变成了 abc def gh 到一行上了,打开又是换行的,拿写字板打开也是换行的
怎么解决啊

解决方案 »

  1.   

    文本在JTextArea中时,换行使用\n。
    写入文件时需要根据操作系统进行。一般使用DefaultEditorKit来读写文件。
      

  2.   

    试试  我记得是  \n\r  或是  \r\n  呵呵  自个试吧。。
      

  3.   

    系统属性 line.separator,它的定义是和平台相关的,可以是 "\n"、"\r" 或 "\r\n"。还有一个属性,它是在 DefaultEditorKit 中定义的,名称为 EndOfLineStringProperty,它是在文档加载时自动定义的,定义为第一个出现的任意换行符。加载文档后,将会适当地设置 EndOfLineStringProperty,当文档被写回时,将用到 EndOfLineStringProperty。但是当文档在内存中时,无论文档在磁盘上如何定义换行,现在都将用 "\n" 字符定义换行。因此,为便于搜索,要经常使用 "\n"。当创建了新文档而 EndOfLineStringProperty 尚未定义时,写入文档将使用 System 属性。DefaultEditorKit kit = new DefaultEditorKit();
    Document doc = mainText.getDocument();
    kit.write(new FileWriter(...),doc,0,doc.getLength());
      

  4.   

     FileWriter fw =new FileWriter(f);
      BufferedWriter bw=new BufferedWriter(fw);
      try
      {
      String[] line=(mainText.getText()).split("\n");
      for(String st : line)
      {
      bw.write(st);
          bw.newLine();
      }
     bw.flush();
      }
    自己解决了,谢谢诶各位