【发布时间】:2018-03-07 14:49:15
【问题描述】:
我的 Java 代码生成 csv 文件。当我将此 CSV 文件作为记事本打开时,我看不到新行。我只看到一行数据。 由于这个原因,我无法添加这个文件的 SQL 数据库。
我该如何解决这个问题? 例如 test.csv 文件:
TerminalSerialNo IMEI Site-Ref
77EC0067C8A1BA6462FCA25F8B1DFBE289F6A3EE null SIT-3
01B406234550B1A688000050BF7A60E2 null SIT-3
19B32E9399CB51FACF858E126F9C7684578A8BAC null SIT-7
当我用记事本打开这个文件时:
TerminalSerialNo,IMEI,Site-Ref,Site-Name77EC0067C8A1BA6462FCA25F8B1DFBE289F6A3EE,null,SIT3,01B406234550B1A688000050BF7A60E2,null,SIT-3,19B32E9399CB51FACF858E126F9C7684578A8BAC,null,SIT-7
如何在记事本中以 CSV 文件形式查看新行数据?
最好的问候
【问题讨论】:
-
试试notepad++和vs-code等其他文本编辑器
-
如果没有看到任何代码就很难判断,但我的猜测是您正在使用 Unix 样式的换行符 (\n) 保存文件,并且您正在 Windows 上打开文件,而记事本需要 Windows-样式换行符 (\r\n)。您可以使用 Notepad++ 等现代文本编辑器进行检查。
-
在超级用户 SE 上通过快速的 google 搜索可以得到这个答案:superuser.com/questions/362087/notepad-ignoring-linebreaks 感谢 Paul 那里的答案。
-
我知道,当记事本 ++ 似乎没问题。但我想在记事本中看到这样的内容。但是我想在这个记事本中解决的问题。如果我解决了,我很容易在 SQL 中添加这个文件。否则,SQL 在上传数据时会报错。
-
FileWriter writer = new FileWriter("output.csv"); // headers writer.write("TerminalSerialNo,IMEI,Site-Ref,Site-Name\n"); writer.flush(); // data for(String[] arr: list) { String appender = ""; for(String s : arr){ writer.write(appender + s); appender = ","; } writer.write("\n"); writer.flush(); } writer.close();