> Java > java지도 시간 > Java를 사용하여 SFTP 서버에서 파일을 검색하려면 어떻게 해야 합니까?

Java를 사용하여 SFTP 서버에서 파일을 검색하려면 어떻게 해야 합니까?

DDD
풀어 주다: 2024-12-03 17:48:10
원래의
218명이 탐색했습니다.

How Can I Retrieve Files from an SFTP Server Using Java?

Java에서 SFTP를 통해 파일 검색

SFTP(Secure File Transfer Protocol)는 안전한 파일 전송 프로토콜로, SSH 연결. 이는 표준 TCP 연결을 통해 TLS/SSL을 활용하는 FTPS와 같은 다른 프로토콜과 대조됩니다.

Java를 사용하여 SFTP를 통해 서버에서 파일을 검색하려면 JSch 라이브러리를 활용할 수 있습니다. JSch는 강력한 기능과 사용자 친화적인 인터페이스로 인해 Eclipse, Ant, Apache Commons HttpClient와 같은 프로젝트에서 널리 사용됩니다.

사용자/패스 및 인증서 기반 로그인을 지원하며 다양한 SSH2 기능을 제공합니다. 다음은 SFTP를 통해 원격 파일을 검색하는 데 사용할 수 있는 기본 코드 예제입니다.

import com.jcraft.jsch.*;

public class SftpFileRetriever {

    public static void main(String[] args) throws JSchException {
        JSch jsch = new JSch();
        String knownHostsFilename = "/home/username/.ssh/known_hosts";
        jsch.setKnownHosts(knownHostsFilename);

        Session session = jsch.getSession("remote-username", "remote-host");
        {
            // Interactive version
            // This version allows you to selectively update specified known_hosts file.
            // You'll need to implement the UserInfo interface, and MyUserInfo is a swing implementation provided in JSch's Sftp.java example.
            UserInfo ui = new MyUserInfo();
            session.setUserInfo(ui);

            // Non-interactive version
            // This version relies on the host key being in the known-hosts file.
            // session.setPassword("remote-password");
        }

        session.connect();

        Channel channel = session.openChannel("sftp");
        channel.connect();

        ChannelSftp sftpChannel = (ChannelSftp) channel;

        sftpChannel.get("remote-file", "local-file");

        sftpChannel.exit();
        session.disconnect();
    }
}
로그인 후 복사

이 코드는 SSH 세션을 설정하고, 알려진 호스트를 설정하고, 채널에 연결합니다. 그런 다음 원격 파일을 검색하고 세션 연결을 끊습니다. 오류 처리 및 사용자 상호 작용의 구체적인 세부 사항은 연습 과제로 남겨 둡니다.

위 내용은 Java를 사용하여 SFTP 서버에서 파일을 검색하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿