SeeBeyond(Sun公司的系统集成产品)服务器是在Sun Solaris机器上的。今天我们这个新项目组的成员们基于Windows利用EAI技术(Enterprise Application Integration)开发简单的系统集成应用,需要将类似于JavaBean的持久化对象(存储在纯文本文件中,利用分隔符进行字段和对象记录的分割)上传至服务器指定目录中。
业务逻辑的实现、文件读入和文件写出都没有问题,可就是没法读出对象的字段值来,甚是郁闷。telnet登录服务器查看日志虽然看到了包含 ^M 的异常信息字样,可万没有想到是上传文本文件的时候换行符已经进行了转换。
再请教Feroz,讲解到,由于FTP采用Binary形式上传时,Windows下的\r\n是不会被转换的,用vi查看时可以看到在每行结尾都有^M字符。而采用ASCII码上传时,则会将Windows下的\r\n转换为\n。
以下方法清除换行符转换带来的unix系统下^M:
(1)用vi编辑该文件,输入vi命令:
∶%s/^V^M//g
(2)如果在unix shell下,则输入命令:
% sed 's/^V^M//g' foo > foo.new
注意: ^V 是 control + V , ^M 是 control + M 或 Enter
参考文章:
http://blog.csdn.net/croco1981/archive/2009/02/02/3857837.aspx
分享到:
相关推荐
不同的编程环境和平台可能会使用不同的换行符。本文将详细介绍Java、JavaScript、Oracle、MySQL以及VBScript中使用的换行符。 ### Java中的换行符 在Java中,换行符通常使用`\r\n`(回车加换行)或`\n`(仅换行)...
标题“Linux和Windows中的换行符差异问题”指的是在Linux和Windows操作系统中,文本文件的换行方式存在差异,导致跨平台操作时可能会遇到显示不正常的问题。在Linux系统中,每行的结束通常只使用一个换行符(LF,...
例如,当在Windows环境下打开一个纯UNIX格式的文本文件时,由于文件中只有换行符(LF),没有回车符(CR),因此Windows系统默认的记事本程序无法识别正确的换行位置,导致所有文本内容被显示在一行内,造成阅读困难...
Unix和Windows系统在处理文本文件时有不同的行结束符:Unix使用换行符(LF),而DOS/Windows系统则使用回车+换行符(CR+LF)作为一行的结束。因此,当一个Unix格式的文本文件在Windows环境下打开时,可能会显示为每...
- 对于不同平台的文本处理,需要注意不同的换行符(Windows使用`\r\n`,Unix/Linux使用`\n`)。 通过以上知识点的详细解析,我们可以了解到Java中去除字符串中的空格、回车、换行符、制表符的具体实现方式及其应用...
这两种不同类型的换行符在跨平台交互时可能导致问题,例如,Unix系统可能无法正确解析在Windows下创建的文件,反之亦然。 `bomtool`和`bomTool.exe`这两个文件很可能是用于处理这种问题的工具。它们可能提供了...
经常遇到要在aix上写一些文本或者脚本,但是用vi太费劲,于是在win下写好 然后win的文本传到aix上, 在UNIX中,每一行的结束... 而在WINDOWS中,每一行的结束符是<RETURN>+换行符. 用以下几种办法可以将其格式互为转换.
这个过程主要是处理文件中的换行符差异,因为Windows使用的是CRLF(回车+换行)作为行结束符,而Linux/Unix系统只使用LF(换行)。 描述中提到的“换行问题”是指在跨平台操作时,由于不同操作系统对文本文件中行...
这两种系统对文本文件的行结束符处理方式不同,Windows使用CRLF(回车换行)作为行结束符,而UNIX/Linux则只使用LF(换行)作为行结束符。这在跨平台操作时可能会引发问题,如代码编辑器显示异常或脚本执行错误。...
需要注意的是,“\n”在Unix和Linux系统中通常作为标准的换行符。 另一个常见的换行表示是“\r\n”,这是回车符(\r)和换行符(\n)的组合。回车符(\r)的作用是将光标移动到当前行的起始位置,而换行符(\n)则...
例如,你可以将所有文本文件中的Windows风格换行符替换为Unix风格,以便在Linux服务器上正确显示。 另外,工具还提供了自动排序的功能。这对于整理大量文本数据,如日志文件或者数据库导出的数据,有着显著的帮助。...
相反,Windows系统使用的是回车换行符组合(\r\n)来标记行的结束。这就导致了当一个在Linux环境下创建的文本文件在Windows中打开时,可能会出现乱码、显示不全或者每一行都合并成一行的问题。 要解决这个问题,...
不少开发者可能遇到过这个...而git入库的代码采用的是LF格式,它考虑到了跨平台协作的场景,提供了“换行符自动转换”的功能:如果在Windows下安装git,在拉取文件时,会自动将LF换行符替换为CRLF;在提交时,又会将C
在DOS和早期的Windows系统中,文本文件通常使用CRLF(Carriage Return + Line Feed)作为行结束符;而在UNIX系统中,文件则使用LF(Line Feed)作为行结束符。MAC系统早期使用CR(Carriage Return)作为行结束符。...
1. **dos2unix**:这是一个命令行工具,用于将 DOS/Windows 格式的文本文件(使用 CRLF 换行符)转换为 UNIX/Linux 格式(使用 LF 换行符)。这对于在 Linux 或 macOS 系统中处理从 Windows 系统获取的文本文件非常...
Mac OS X 10.0之前的版本使用单一的`\r`作为换行符,但在之后的版本中与Unix/Linux保持一致,使用`\n`。 理解这些换行符的差异对于编写跨平台的Java代码尤其重要,尤其是在处理文本文件和用户界面的显示时。通过...
首先,你需要知道不同的操作系统对换行符的定义会有所不同,Unix或类Unix操作系统的换行符叫做LF,而windows系统的叫做CRLF,二者具有很大的区别:Unix系统里,每行结尾只有“<换行>”,即"n";Windows系统里面,...
- **Windows与Unix系统换行符的区别**:在Windows系统中,换行符通常是`\r\n`(回车+换行),而在Unix/Linux系统中则是`\n`。 - **Windows**:`\r\n` - **Unix/Linux**:`\n` - **示例**:当处理来自不同操作系统...
dos2unix工具的主要功能是将包含DOS/Windows风格换行符的文本文件转换为Unix/Linux风格。它会把文件中的CR+LF组合替换为单一的LF字符。这个过程通常被称为“dos2unix转换”。 相反,unix2dos工具则是将Unix/Linux...