我必須創建一個代表訂單的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