【问题标题】:Line ending issue DOS > Linux > Java行尾问题 DOS > Linux > Java
【发布时间】:2013-06-20 19:03:33
【问题描述】:

我在处理 160.000 行文件时遇到了一些问题,该文件是通过从 xlsx 文件导出生成的,它具有 .txt 扩展名,但我担心它已被导出为类似 DOS 的文件文件,在每一行的末尾都有 DOS 换行符。 我正在使用用 java 编写的解析器,在 Ubuntu 环境中运行,当我运行解析器时得到了这个(我无法编辑,因为它是 jar 的一部分,我无法访问源代码),我得到 NumberFormatException 哪里应该是一个数字,我的行结尾是这样的:

4449

但是解析器认为它是

For input string: "4449&#xd;"<

您对此有解决方案吗?再次我自己无法访问解析器,我将不得不“在我的 Ubuntu 机器上”编辑文件并删除那些行尾。

【问题讨论】:

  • 你用的是什么解析器?可能有一个选项可以指定文件使用哪一行结尾。
  • 听起来sed 可以在大约 10 秒内完成。
  • sed 看不到,谢谢您的建议

标签: java linux newline dos


【解决方案1】:

尝试对该文件使用dos2unix 命令。这应该可以修复行终止符。

> dos2unix winfile.txt unixfile.txt

参考:
dos2unix man page

【讨论】:

    【解决方案2】:

    解析器找到&amp;#xd;,这是一个windows回车;但是,它无法解析这些字符。转到文件并运行快速命令tr -d '\15\32' &lt; winfile.txt &gt; unixfile.txt

    参考: http://kb.iu.edu/data/acux.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-16
      • 2011-02-08
      相关资源
      最近更新 更多