windows文件换行符与linux文件换行符
程序员文章站
2022-07-11 08:12:36
...
首先提醒一点:这里要说明的是文件换行符,而不是程序中输出字符串的换行符(例如: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
上一篇: MAC下安装多版本JDK和切换几种方式
下一篇: touch 命令详解
推荐阅读
-
Linux中对lvm逻辑卷分区大小的调整教程(针对xfs与ext4不同文件系统)
-
Linux与Windows文件互传(VMWare)
-
Linux下与文件相关的几个时间的介绍
-
Windows 10新版改进:资源管理器可直接访问Linux文件
-
Windows本地环境和Linux腾讯云服务器之间传输文件的方法
-
centos的安装与配置,Linux下基本命令、权限控制,解压缩文件以及软件的安装与卸载
-
xshell上传下载文件(Windows、Linux)
-
windows下编辑的文件传到Linux后会出现^M怎么办?
-
xshell—实现Linux与Windows之间的文件传递
-
Linux文件系统与目录结构