我想把TextField中的值读到一个文本文档中,可是其中的换行符变成了小黑方块,请问怎样解决,谢谢

解决方案 »

  1.   

    默认的情况下,界面上的换行时用的"\n",这是LINUX和UNIX的换行符。在windows下换行符是"\r\n".
    replaceAll("\n","\r\n");
      

  2.   

    不好意思啊,应该是TextArea中值
      

  3.   

    我试了,可是不管用,但是用别的如UltraEdit打开就换行了
      

  4.   

    String textValue = ta.getText().replaceAll("\n", "\r\n");//ta为文本框
    FileOutputStream fos = new FileOutputStream();
    fos.write(textValue.getBytes());这是其中的主要代码,看看还有什么问题吗?
      

  5.   

    DefaultEditorKit kit = new DefaultEditorKit();
    Document document = textfield.getDocument();
    kit.write(new FileWriter(new File("sdsfsd.txt")), document, 0, document.getLength());
      

  6.   

    使用DefalutEditorKit会自动处理换行DefaultEditorKit 
    这是文本组件使编辑器对某些类型 的文本文档合理发挥其作用所需的实现集合。此实现提供了一个默认实现,该默认实现把文本当作纯文本,并提供简单编辑器的最小操作集合。 换行 
    有两个属性负责处理换行。系统属性 line.separator,它的定义是和平台相关的,可以是 "\n"、"\r" 或 "\r\n"。还有一个属性,它是在 DefaultEditorKit 中定义的,名称为 EndOfLineStringProperty,它是在文档加载时自动定义的,定义为第一个出现的任意换行符。加载文档后,将会适当地设置 EndOfLineStringProperty,当文档被写回时,将用到 EndOfLineStringProperty。但是当文档在内存中时,无论文档在磁盘上如何定义换行,现在都将用 "\n" 字符定义换行。因此,为便于搜索,要经常使用 "\n"。当创建了新文档而 EndOfLineStringProperty 尚未定义时,写入文档将使用 System 属性。 
    注意,在 Document 上使用 get/setProperty 方法设置 EndOfLineStringProperty。子类可重写此行为。 
      

  7.   

    str.replaceAll("\r",\n).replaceAll("\n\n",\n);
    以后用split("\n")来分隔。
    直接打开文件看到黑块,无法解决!
      

  8.   

    怎样读取TextField中的换行符到文本文档中
    http://topic.csdn.net/u/20091225/20/31ec4e67-51bb-4705-95e6-454ce6445904.html
      

  9.   

    http://c02949.blog.163.com/blog/static/485037200921731852420/
      

  10.   

    这是API里的方法,可以举个例子吗,不知道怎么用