Java |与^ M的CSV问题

时间:2013-02-04 00:08:32

标签: java csv

我对这个烦人的^ M有问题,在导出一些数据时,将其写入要下载的CSV文件。我做了一些研究,发现如果您正在阅读的文件来自Windows系统,则会出现此问题(Windows使用CR(即^ M)/ LF对来指示行的结束,而UNIX仅使用LF)。

现在任何人都可以提供一个解决方案来解决这个问题(比如消除或替换^ M),然后再把它放到编写器上(writer.write(columnToBeInserted);)

3 个答案:

答案 0 :(得分:2)

您可以使用unix2dosdos2unix分别转换UNIX和Windows文件。两者都可以在* nix和Windows平台上使用。阅读more

Windows链接

另见How to convert files from Dos to Unix in java

答案 1 :(得分:1)

当你阅读每一行时

line.replaceAll("\\p{Cntrl}", "");

或使用工具为您完成

答案 2 :(得分:0)

在linux / unix环境中有一个名为dos2unixunix2dos的实用程序,它将文件从windows转换为linux格式,反之亦然。

Windows上的

检查此链接并下载将从Windows转换为linux格式的实用程序http://www.sg-chem.net/u2win/