windows文件换行符与linux文件换行符
程序员文章站
2023-12-28 21:32:34
...
首先提醒一点:这里要说明的是文件换行符,而不是程序中输出字符串的换行符(例如:eclipse控制台输出在java程序中用\r或\n或者\r\n都能达到换行输出的效果)。
操作系统换行符
ASCII(美国信息交换标准码)中有这样两个字符CR(编码为13)和 LF(编码为10),在编程中通常表示为'\r'和'\n'。以下是各操作系统的换行符:
Unix和类Unix(如Linux):换行符采用 \n
Windows和MS-DOS:换行符采用 \r\n
Mac OS X:换行符采用 \n
实例说明
例如我现在从数据库读出数据写入一个文件,伪代码(该论坛提供的编辑器,代码格式很难调 )如下:
我这里实现了防止数据串行(\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
操作系统换行符
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
推荐阅读
-
windows文件换行符与linux文件换行符
-
kali linux 常用文件与指令路径
-
详解Linux文本文件与WIN文本文件换行格式转换命令
-
IDEA全量替换一次性解决旧项目并将所有文件换行符改为LF问题
-
在windows和linux之间用SecureCRT来上传和下载文件
-
linux搜索文件内容并替换(查找与替换命令大全)
-
Linux编程 14 文件权限(用户列表passwd,用户控制shadow,useradd模板与useradd命令参数介绍)
-
python同步windows和linux文件
-
linux搜索文件内容并替换(查找与替换命令大全)
-
Linux和windows中的换行符差异问题