【发布时间】:2012-02-21 09:24:47
【问题描述】:
我有几个文件要从 Dos 转换为 Unix。是否有任何 API 或方法可以帮助我做到这一点?
【问题讨论】:
我有几个文件要从 Dos 转换为 Unix。是否有任何 API 或方法可以帮助我做到这一点?
【问题讨论】:
有一些 linux 工具可以做到这一点(例如dos2unix)。
在 Java 中可以使用String.replaceAll() 来完成。
DOS 使用 \r\n 来终止行,而 UNIX 使用单个 \n。
String unixText = windowsText.replaceAll("\r\n", "\n"); // DOS2UNIX
所以不,不存在 API。是的,这很容易。
【讨论】:
Linux/Unix 中有一个名为dos2unix 的实用程序/命令可以帮助您将文件从dos 格式转换为unix 格式。要安装,只需输入控制台(您可能需要 root 权限)
yum install dos2unix
要进行转换,您必须使用命令 dos2unix 后跟文件名。例如
[aniket@localhost ~]$ dos2unix sample.txt
dos2unix: converting file sample.txt to UNIX format ...
对于目录中的所有文件,您可以简单地使用
dos2unix *
【讨论】:
yum 安装时要使用的包名称,其他答案都没有提到。
String unixText = windowsText.replaceAll("\r\n", "\n"); // DOS2UNI
上面的行应该删除所有 \r 但由于某种原因它也删除了 \n 所以我必须在将 unixText 打印到文件时将其添加回来: unixText + "\n"
【讨论】:
只是使用 dox2unix 的另一种方式(而不是描述的一种 parasietje)。假设你所有的dos文件都在一个文件夹中
Runtime.getRuntime().exec("dos2unix /path/to/dos/files/*");
【讨论】:
大多数 unix/linux 发行版都有名为 unix2dos 和 dos2unix 命令的实用程序。
编辑:
只需将文件复制到 unix 机器并运行 dos2unix *。
您也可以找到适用于 Windows 的此实用程序并执行相同操作。
【讨论】: