2014-03-04 7 views
1

ASCII 모드를 사용하여 FTP를 통해 파일을 보내야합니다 (나는 commons-net Java 라이브러리를 사용하고 있습니다. 호스트가 데이터를 저장하는 다른 방법을 사용하기 때문에) LF로 유지되고 CRLF로 변환되지 않도록 LF 문자가 필요합니다.Commons-net : LF를 CRLF로 변경하지 않고 ASCII를 사용하여 FTP를 통해 파일을 보내는 방법

실제로 LF와 CRLF를 CRLF로 유지하려면 LF가 필요합니다. 지금까지이 작업을 수행 할 수있는 방법을 찾지 못했습니다.

가 평민 - 그물이 일의 방법은 없지만 누군가가 다른 라이브러리가

이 답변에 대한 여러분 모두 감사합니다 감사하겠습니다으로 작업을 수행하는 방법을 알고있는 경우. 는 마지막으로 내가 상자에서 원하는대로 작동 ftp4j 라이브러리로 변경했다 당신이

해결을 참조하십시오.

+0

어떤 ** 정확한 ** "데이터를 저장하는 다른 방법"은 당신이 극복하려는 것입니까? 그러한 endianess와 같은 일반적인 차이점은이 선택에 의해 문제가되지 않거나 해결되지 않을 것입니다. 다른 문자 체계 (EBCDIC?)는 가능하지만 "ASCII 모드"를 사용하지 않고 적절한 변환 표 (CR/LF 문제를 훨씬 뛰어 넘는)를 찾아야합니다. –

+0

호스트는 Z/OS이며, 그 차이가 무엇인지 모르겠다. 바이너리 모드를 사용할 수 없다는 말을 들었다. 나는 tryed하지만 파일은 손상되었다. – JorgeFD

+0

어떻게 손상 되었습니까? 누군가 당신에게 나쁜 정보를 주거나 사양의 끝을 고수하지 못합니다. 어떤 유형의 데이터입니까? –

답변

0

ASCII 모드의 포인트는 정확히 플랫폼에 특정한 라인 종료를 갖습니다. 그래서 UNIX 시스템에서는 LF와 Windows CRLF가됩니다. 서버가 데이터를 변환 할 수 있기 때문에 클라이언트 내부에는 그 방법이 없습니다. 수정되지 않은 데이터를 전달하면 바이너리를 사용할 방법이 없습니다.

+0

명령 줄에서 Windows FTP 클라이언트를 사용하면 필요에 따라 작동합니다. – JorgeFD

+0

서버가 ASCII로 전송 된 데이터를 원래 표현 (예 : 플랫폼 별 라인 끝)으로 자유롭게 변환 할 수 있기 때문에 모든 서버에서 작동하는 것으로 의심됩니다. ASCII를 사용하는 한 클라이언트가이를 제어 할 방법이 없습니다. –