2014-03-04 71 views
1

我需要使用ASCII模式通過FTP發送文件(我使用的是commons-net Java庫)(不能使用二進制模式因爲主機使用不同的方式存儲數據),但是我需要LF字符保持爲LF,而不是要轉換爲CRLF。Commons-net:如何使用ASCII通過FTP發送文件而不將LF更改爲CRLF

事實上,我需要LF留在LF和CRLF作爲CRLF。 到目前爲止,我找不到這樣做的一種方式。

如果沒有與公共網這樣的方式,但有人知道如何與一個不同的庫,將不勝感激

謝謝大家對你的反應做。 見

你解決 最後,我不得不改變到ftp4j庫,因爲我想開箱其中工程。

+0

什麼**確實**「不同的數據存儲方式」是你想克服的嗎?典型的差異,如這種永久性,或者不是一個問題,或者不被這個選擇糾正。一些其他的字符方案(EBCDIC?)會,但你可能需要拿出一個適當的轉換表(遠遠超出CR/LF問題),而不是簡單地使用「ASCII模式」。 –

+0

HOST是一個Z/OS,我不知道這些差異是什麼,我被告知我無法使用BINARY模式,我嘗試過,但是損壞的文件。 – JorgeFD

+0

損壞如何?有人要麼給你提供不好的信息,要麼不提供規範的結尾。什麼類型的數據? –

回答

0

ASCII模式的要點恰恰是爲平臺特定的行結束。所以在UNIX系統上,它將是LF和Windows CRLF。客戶端內部沒有辦法繞過它,因爲服務器可能會轉換數據。如果您未經修改就傳遞數據,則無法使用二進制文件。

+0

在命令行下使用Windows FTP客戶端按我的需要工作。 – JorgeFD

+0

我懷疑它可以與所有服務器一起工作,因爲服務器可以自由地將用ASCII傳輸的數據轉換爲它們的本地表示形式(例如平臺特定的行結尾)。客戶端無法控制它,只要它使用ASCII即可。 –