操作系统换行符
ASCII(美国信息交换标准码)中有这样两个字符CR(编码为13)和 LF(编码为10),在编程中通常表示为'\r'和'\n'。以下是各操作系统的换行符:
Unix和类Unix(如Linux):换行符采用 \n
Windows和MS-DOS:换行符采用 \r\n
Mac OS X:换行符采用 \n
实例说明
例如我现在从数据库读出数据写入一个文件,伪代码(该论坛提供的编辑器,代码格式很难调 )如下:
for(int i = 1;i <= resultSet.getMetaData().getColumnCount();i++){ if(i == resultSet.getMetaData().getColumnCount()){ DBData.append(resultSet.getString(i).replace("\r\n", "").replace("\t","")+"\r\n"); }else{ DBData.append(resultSet.getString(i).replace("\r\n", "").replace("\t","")+"\001"); } }
我这里实现了防止数据串行(\r\n)和跳格(\t),并且每个字段用分隔符(\001)自动分割,每条数据自动换行。实现效果如图(第一个字段为ID,以下非完整截图):
以下为linux环境数据截图:
windows环境(\001)在linux为^A(\001),\r\n为^M$。另外注意,需要以vi -b(VI的二进制模式)方式打开文件才会显示^M(\r),用:set list显示特殊字符才可以查看到$(\n)。
如果对linux命令不熟悉的可以看看这篇文章(笔者已分类总结了绝大部分开发人员可能会用到的linux命令和知识): Linux常用命令参考与指南
原文永久地址: http://jsonliangyoujun.iteye.com/blog/2363195