2010-07-07 4 views
1

Apache의 FTPClient 라이브러리를 사용하고 있고 한 단계 이상의 새로운 디렉터리를 만드는 간단한 방법을 알 수 없습니다. 내가 놓친 게 있니?FTP를 사용하여 Java에서 한 번의 호출로 여러 수준의 디렉터리를 만드는 방법

/tmp 디렉토리가 이미 내 원격 호스트에있는 가정, 다음 명령을 만드는 데 성공/tmp를/XXX

String path = "/tmp/xxx"; 
FTPClient ftpc = new FTPClient(); 
... // establish connection and login 
ftpc.makeDirectory(path); 

하지만 다음과 같은 오류가 발생 : 그 후자의 경우

String path = "/tmp/yyy/zzz"; 
FTPClient ftpc = new FTPClient(); 
... // establish connection and login 
ftpc.makeDirectory(path); 

, even/tmp/yyy가 작성되지 않습니다.

내가/tmp/yyy를 만든 다음/tmp/yyy/zzz를 만들 수는 있지만 직접 만드는 방법을 알 수는 없다./tmp/yyy/zzz.

  1. 나는 분명한 뭔가를 놓치고 있습니까? makeDirectory 대신 mkd를 사용하는 것이 도움이되지 않았습니다.

  2. /tmp/yyy/zzz/디렉토리가 이미 존재하지 않으면 /tmp/yyy/zzz/test.txt에 파일을 업로드 할 수 있습니까?

답변

1
  1. FTP 서버는 일반적으로 한 번에 한 수준의 디렉토리 만 만들 수 있습니다. 따라서 경로를 스스로 해체하고 각 구성 요소에 대해 makeDirectory()를 한 번 호출해야합니다.

  2. 번호

2

한 번에 하나씩/tmp/yyy 다음에/tmp/yyy/zzz를 수행해야합니다. 당신이하고 싶은 일에 대한 지름길 메커니즘이 없습니다.

1

FTP 프로토콜은이를 허용하지 않습니다. 따라서 하나의 호출에서 여러 수준의 디렉토리를 만들 수는 없습니다.