我必须创建一个代表订单的CSV文件。生成一个CSV文件,我应该使用什么回车符?
该文件将被FTP'd,并导入到另一个系统。
我应该使用什么换行/回车符?
我很确定接收端是微软系统,有没有办法让它与服务器无关?
我必须创建一个代表订单的CSV文件。生成一个CSV文件,我应该使用什么回车符?
该文件将被FTP'd,并导入到另一个系统。
我应该使用什么换行/回车符?
我很确定接收端是微软系统,有没有办法让它与服务器无关?
所有操作系统都支持仅使用换行符(LF,'\ n',chr(10),^ J等)。个别应用程序在处理上有所不同,特别是在Microsoft世界。
内部使用CR LF对的操作系统(如MSDOS,Windows,Stream_CRLF模式下的OpenVMS等)只能处理纯LF。
在FTP中,使用ascii
命令使其对文件执行正确的操作。
不幸的是,你将不得不在MS或非MS/Unix(y)换行符之间进行选择。
MS是CR + LF,非MS只是LF。
更多的信息在这里http://en.wikipedia.org/wiki/Newline
在MS系统中,许多应用程序可能正确解释的LF换行,但有些不会,例如记事本。如果你想保证所有基于MS的应用程序都能正确解释你的换行符,那么你将不得不使用CR + LF,但这将会牺牲一些非MS系统上某些应用程序的新行数(一些应用程序非MS系统将把CR + LF解释为单个换行符)。
如果您的目标是Microsoft Windows系统,请使用CR + LF,这是本机Windows的行尾。
使用默认值为任何服务器创建文件。使用FTP,传输文件文本模式(默认模式,IIRC)。它会自动转换接收端的线路结尾。
总之,你不需要做任何特别的事情。 FTP已经以服务器不可知的方式处理它。
您应该使用System.Environment.NewLine
,或向外部应用程序人员询问路线。
“仅使用换行符(LF,'\ n',chr(10),^ J等)受所有操作系统支持。” - Windows确实知道LF是什么,但这是消费应用程序的重要性。许多Windows应用程序仅将CR + LF识别为换行符,例如,记事本。 – 2009-12-29 19:38:46