首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

怎么读取TextField中的换行符到文本文档中

2012-07-19 
怎样读取TextField中的换行符到文本文档中我想把TextField中的值读到一个文本文档中,可是其中的换行符变成

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

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

[解决办法]
DefaultEditorKit kit = new DefaultEditorKit();
Document document = textfield.getDocument();
kit.write(new FileWriter(new File("sdsfsd.txt")), document, 0, document.getLength());
[解决办法]
使用DefalutEditorKit会自动处理换行

DefaultEditorKit 
这是文本组件使编辑器对某些类型 的文本文档合理发挥其作用所需的实现集合。此实现提供了一个默认实现,该默认实现把文本当作纯文本,并提供简单编辑器的最小操作集合。 

换行 
有两个属性负责处理换行。系统属性 line.separator,它的定义是和平台相关的,可以是 "\n"、"\r" 或 "\r\n"。还有一个属性,它是在 DefaultEditorKit 中定义的,名称为 EndOfLineStringProperty,它是在文档加载时自动定义的,定义为第一个出现的任意换行符。加载文档后,将会适当地设置 EndOfLineStringProperty,当文档被写回时,将用到 EndOfLineStringProperty。但是当文档在内存中时,无论文档在磁盘上如何定义换行,现在都将用 "\n" 字符定义换行。因此,为便于搜索,要经常使用 "\n"。当创建了新文档而 EndOfLineStringProperty 尚未定义时,写入文档将使用 System 属性。 
注意,在 Document 上使用 get/setProperty 方法设置 EndOfLineStringProperty。子类可重写此行为。 

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

热点排行
Bad Request.