Java | CSV问题与^M
我对这个恼人的^M有问题,在导出一些数据时,将其写入CSV文件以供下载。我做了一些研究,发现如果您正在读取的文件来自Windows系统,则会发生此问题(Windows使用CR(即^M)/LF对表示行的结尾,而UNIX仅使用LF)
现在有谁能给我一个解决方案来解决这个问题(比如删除或替换^M),然后再把它交给作者(writer.write(columnToBeInserted);)
你可以在下面搜索框中键入要查询的问题!
我对这个恼人的^M有问题,在导出一些数据时,将其写入CSV文件以供下载。我做了一些研究,发现如果您正在读取的文件来自Windows系统,则会发生此问题(Windows使用CR(即^M)/LF对表示行的结尾,而UNIX仅使用LF)
现在有谁能给我一个解决方案来解决这个问题(比如删除或替换^M),然后再把它交给作者(writer.write(columnToBeInserted);)
# 1 楼答案
在linux/unix环境中,有一个名为
dos2unix
和unix2dos
的实用程序,它将文件从windows格式转换为linux格式,反之亦然在windows上检查此链接并下载实用程序,该实用程序将从windows转换为linux格式http://www.sg-chem.net/u2win/
# 2 楼答案
您可以使用
unix2dos
和dos2unix
分别转换UNIX和Windows文件。两者都可在*nix和Windows平台上使用。读moreWindows的链接
Dos2Unix
Unix2Dos
另见How to convert files from Dos to Unix in java
# 3 楼答案
当你读每一行的时候
或者用一个工具为你做这件事