日期:2014-05-20  浏览次数:20752 次

关于从数据库取数据写入文本文件……
从数据库取的字符串中含\r\n回车换行符,在写入文本文件时原样写入了文本文件,而不是表现为回车换行。

怎样做到在写入文本文件是直接表现为回车换行,而不是原样把转义字符写入文件?


------解决方案--------------------
关注!!
------解决方案--------------------
我用的FileWriter 就没有出现你说的情况...
不知道LZ 用的是什么写的...
------解决方案--------------------
应该不会出现这种问题得吧,楼主!
改变你得思维方式
------解决方案--------------------
那个没有,可以直接
SELECT '
' FROM DUAL
这样能查出来回车

------解决方案--------------------
你用out.print();这样应该不会出现回车换行吧,println本身就是回车换行的打印
------解决方案--------------------
那是你用的io类的问题,你换一换其它的类试试应该就可以了
------解决方案--------------------
楼主的意思是你的数据库中的内容是: \r\n
实际上是 \ , r , \ , n 四个字符,而并不是楼主所想的 '\r ', '\n ' 两个字符。

在 java 源代码中写 "\r\n " 实际上是 2 个字符。
楼主需要理解一下转义字符(\)

现在的情况,楼主试试:
out.println(rs.getString(1).replaceAll( "\\\\r\\\\n ", "\r\n "));

为什么要用四个斜杠,楼主参考:
http://www.regexlab.com/zh/regref.htm
以及
String 的 replaceAll 方法。

------解决方案--------------------
很简单,完全不变地把数据库里的这个字符串输出到文本文件就OK了.\r\n是不会消失的.呵呵.