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

wsj19860218 2009-12-25 08:01:59
我想把TextField中的值读到一个文本文档中,可是其中的换行符变成了小黑方块,请问怎样解决,谢谢
...全文
582 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
小文件 2012-08-04
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]

使用DefalutEditorKit会自动处理换行

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

换行
有两个属性负责处理换行。系统属性 line.separator,它的定义是和平台相关的,可以是 "\n"、"\r" 或 "\……
[/Quote]
这是API里的方法,可以举个例子吗,不知道怎么用
小文件 2012-08-04
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

String textValue = ta.getText().replaceAll("\n", "\r\n");//ta为文本框
FileOutputStream fos = new FileOutputStream();
fos.write(textValue.getBytes());

这是其中的主要代码,看看还有什么问题吗?
[/Quote]
解决了,nb啊,thanks
wangfengtc 2012-06-27
  • 打赏
  • 举报
回复
是也遇到这个问题,来看看解决办法
proudsky 2010-12-23
  • 打赏
  • 举报
回复
http://c02949.blog.163.com/blog/static/485037200921731852420/
proudsky 2010-12-23
  • 打赏
  • 举报
回复
怎样读取TextField中的换行符到文本文档中
http://topic.csdn.net/u/20091225/20/31ec4e67-51bb-4705-95e6-454ce6445904.html
crazylaa 2009-12-26
  • 打赏
  • 举报
回复
str.replaceAll("\r",\n).replaceAll("\n\n",\n);
以后用split("\n")来分隔。
直接打开文件看到黑块,无法解决!
huntor 2009-12-25
  • 打赏
  • 举报
回复
使用DefalutEditorKit会自动处理换行

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

换行
有两个属性负责处理换行。系统属性 line.separator,它的定义是和平台相关的,可以是 "\n"、"\r" 或 "\r\n"。还有一个属性,它是在 DefaultEditorKit 中定义的,名称为 EndOfLineStringProperty,它是在文档加载时自动定义的,定义为第一个出现的任意换行符。加载文档后,将会适当地设置 EndOfLineStringProperty,当文档被写回时,将用到 EndOfLineStringProperty。但是当文档在内存中时,无论文档在磁盘上如何定义换行,现在都将用 "\n" 字符定义换行。因此,为便于搜索,要经常使用 "\n"。当创建了新文档而 EndOfLineStringProperty 尚未定义时,写入文档将使用 System 属性。
注意,在 Document 上使用 get/setProperty 方法设置 EndOfLineStringProperty。子类可重写此行为。
huntor 2009-12-25
  • 打赏
  • 举报
回复
DefaultEditorKit kit = new DefaultEditorKit();
Document document = textfield.getDocument();
kit.write(new FileWriter(new File("sdsfsd.txt")), document, 0, document.getLength());
wsj19860218 2009-12-25
  • 打赏
  • 举报
回复
String textValue = ta.getText().replaceAll("\n", "\r\n");//ta为文本框
FileOutputStream fos = new FileOutputStream();
fos.write(textValue.getBytes());

这是其中的主要代码,看看还有什么问题吗?
wsj19860218 2009-12-25
  • 打赏
  • 举报
回复
我试了,可是不管用,但是用别的如UltraEdit打开就换行了
wsj19860218 2009-12-25
  • 打赏
  • 举报
回复
不好意思啊,应该是TextArea中值
swandragon 2009-12-25
  • 打赏
  • 举报
回复
默认的情况下,界面上的换行时用的"\n",这是LINUX和UNIX的换行符。在windows下换行符是"\r\n".
replaceAll("\n","\r\n");
苍蝇①号 2009-12-25
  • 打赏
  • 举报
回复
难道是两处的编码不匹配问题。
没遇到过

62,616

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧