어떤 Java FTP 클라이언트 라이브러리를 사용해야합니까? [닫은]


91

마지막 질문에 대해 긍정적 인 답변을받지 못했기 때문에 . Java FTP 업로드 애플릿을 직접 작성해 보겠습니다.

내 질문은 "사용할 Java FTP 클라이언트 라이브러리를 추천 해 주시겠습니까?"입니다.

나는 그것을 원한다 :

  • 안정된
  • 패시브 및 액티브 모드 처리 가능
  • 업로드 진행 정보 제공 가능
  • 문제가 발생하면 포착 가능한 예외를 던집니다 (특히 업로드가 성공하지 못한 경우).
  • 저렴 / 무료, 가급적 오픈 소스

나는 발견 개관 일부 라이브러리를하지만,이 문서는 2003 년이기 때문에, 어쩌면 새로운 발전이 일어날 :)

답변:


56

FTP 유틸리티가 포함 된 Apache commons-net을 확인하십시오 . 내 머리 위로 모든 요구 사항을 충족하는지 확실하지 않지만 확실히 무료입니다!


이 정보 비트는 질문과 관련이 없지만 여기에 추가되었습니다. 어딘가에 배치하고 싶었습니다. commons-net FtpClient는 2008 년 최신 2.0 릴리스에서 여전히 IPv6 지원 (RFC 2438)이 없습니다. 그러나 2.1은이를 포함 할 예정입니다. 그들은 매우 자주 출시하지 않습니다 ...
Moritz 둘 다

2
@Moritz Both : 2010 년에 마침내 수정되었습니다. issues.apache.org/jira/browse/NET-288을 참조하십시오 .
sleske

제안 된 FTP 라이브러리를 사용하려고하는데 네트워크 프록시 뒤에 문제가 있습니다. 제안 사항이 있습니까?
Ashish Sharma 2012

2
이 라이브러리는 속도가 느려서 더 빠른 라이브러리를 찾습니다.
Tommy Ng

@TommyNg FTP 서버에서 할당량을 제거하고 버퍼 크기를 늘려 속도 저하를 해결했습니다. 도움이 될 수 있습니다.
gouessej

17

ftp4j는 기능과 라이센스 모두에서 가장 좋습니다.

http://www.sauronsoftware.it/projects/ftp4j/


5
단점은 메이븐 중앙에없는 것입니다
yegor256

9
Maven Central에 라이브러리를 업로드하지 않는 이유를 모르겠습니다.이 결정이 종교적 또는 정치적 결정입니까?
gavenkoa 2014-06-25

2
@gavenkoa 내가 이해하는대로 프로젝트를 maven central에 업로드하려면 maven을 빌드 도구로 사용해야합니다. 하나가 개미 (ftp4j처럼)로 빌드하는 경우 그렇게 쉽지 않습니다. 저자가이 일이 일어나도록 충분히 신경 쓰지 않는 것 같습니다.
파울로 Ebermann

1
Maven 저장소로 종속성을 수집하는 것은 Java (Python의 경우 pip, Ruby의 경우 Gems)에서 일반적입니다. Ant에서도 Ivy가 있습니다. 개발자는 업로드 작업을 수행 할 시간이나 돈이 없을 수 있습니다. 누가 알겠습니까?
gavenkoa

@ PaŭloEbermann 아니요 Ant를 빌드 도구로 사용하고 Maven Central에 라이브러리를 업로드하는 것이 가능합니다. 이것이 JogAmp (JOGL, JOAL, JOCL)를 위해 수행하는 작업입니다. 또한 내가 완전히 이해하는 몇 가지 정치적 고려 사항을 존중하기 위해 중앙 집중화를 남용하는 대신 자신의 Maven 저장소를 가질 수 있습니다.
gouessej

6

예, EnterpriseDT의 edtFTPj 는 안정적이며 (2000 년에 처음 출시됨), 필요한 모든 기능을 갖추고 있으며 오픈 소스이기도합니다.

많은 오픈 소스 프로젝트와 많은 상용 프로젝트 에서 사용되며 .NET에서 가장 빠른 클라이언트 라이브러리 중 하나로 인정 받고 있습니다 .

다른 포스터에서 언급했듯이 SFTP 및 / 또는 FTPS로 업그레이드하려는 경우 코드 변경이 거의 필요하지 않은 간단한 업그레이드 경로입니다.


일부 IllegalReply 예외로 인해 ftp4j 작업을 얻을 수 없습니다. 이것은 꽤 잘 작동했습니다.
anujin

edtFTPj의 속도에 대한 증거로 언급하신 기사는 2006 년부터 시작되었습니다. 정말 구식입니다
ftrujillo

2
이 패키지는 무료 (매우 비싼) 아닌 한 빨리 당신이 필요 같은 프록시를 통해 연결로 "프로"기능, ...
에릭 니콜라스


4

확실히 Commons-net. :) 대부분의 오픈 소스 프로젝트는 요즘 그것을 사용합니다.

yc


1

무료 오픈 소스 인 Enterprise DT FTP 라이브러리를 성공적으로 사용했습니다 . 사용하지 않았기 때문에 다른 라이브러리 (예 : Apache Commons Net 라이브러리)와 비교할 수 없습니다. 상업용 제품이지만 SFTP (SSH를 통해) 및 FTPS (SSL을 통해)에 대한 간단한 업그레이드 경로를 제공합니다.


1

Apache commons-nets는 최근에 더 자주 업데이트되는 반면 Enterprise DT 라이브러리는 더 자주 업데이트되는 것 같습니다.


0

비디오 파일을 다운로드하고있었습니다. 아파치의 FTPClient는 엉망이되어 동영상을 상당히 빠르게 다운로드했습니다. 하지만 비디오를 재생하려고 할 때 비디오 중간에서 청크가 손실되었습니다. ftp4j는 손실없이 전체 비디오를 다운로드합니다.

ftp4j ftw


0

FTP 클라이언트에 대한 다양한 옵션을 나열하는 이 2006 문서 도 있습니다.

commons-net은 좋지만 FTP-GO 는 사용자가 찾고있는 고급 기능 중 일부를 제공 할 수 있습니다.

kagi Ftp-Go


첫 번째 링크는 죽은
gouessej

1
@gouessej 첫 번째 링크는 죽지 않았습니다. 두 번째는. "FTP-GO"링크를 복원했습니다.
VonC

1
당신 말이 맞아요, 고마워요. S :이 API의 소스 코드를 얻을 수 750USD의 수수료를 지불해야
gouessej
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.