行结束问题DOS>;Linux>;JAVA

行结束问题DOS>;Linux>;JAVA,java,linux,newline,dos,Java,Linux,Newline,Dos,我在处理一个160.000行的文件时遇到了一些问题,这个文件是通过从xlsx文件导出生成的,它有一个.txt扩展名,但我担心它已经导出为类似DOS的文件,在每行的末尾都有DOS换行符。 我使用的是java编写的解析器,运行在Ubuntu环境中,当我运行解析器时(我无法编辑它,因为它是jar的一部分,我无法访问源代码),我得到了NumberFormatException,如果需要一个数字,我的行结束如下: 4449 但是解析器将其视为 For input string: "4449&#x

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

4449
但是解析器将其视为

For input string: "4449&#xd;"<
输入字符串的
:4449
<

你有解决这个问题的办法吗?同样,我自己无法访问解析器,我将不得不编辑文件“在我的Ubuntu机器上”,并删除那些行尾。

尝试在该文件上使用
dos2unix
命令。这应该可以修复线路终端

> dos2unix winfile.txt unixfile.txt
参考资料:

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

参考:

您使用的是什么解析器?可能有一个选项可以指定文件使用哪一行结尾。听起来好像
sed
可以在大约10秒钟内完成。sed看不到这一点,无论如何还是要谢谢您的建议