FTP和SFTP協議是常用的文件傳輸協議,而Java可以輕松訪問FTP和SFTP服務器。本文將介紹如何使用Java訪問FTP和SFTP服務器。
FTP
Java提供一個名為FTPClient的類,可用于訪問FTP服務器。我們可以使用以下代碼片段從FTP服務器中下載文件:
FTPClient ftpClient = new FTPClient(); ftpClient.connect("ftp.example.com"); ftpClient.login("user", "password"); ftpClient.enterLocalPassiveMode(); String remoteFilePath = "/path/to/remote/file"; File downloadFile = new File("local-file.txt"); OutputStream outputStream = new BufferedOutputStream(new FileOutputStream(downloadFile)); boolean success = ftpClient.retrieveFile(remoteFilePath, outputStream); outputStream.close(); if (success) { System.out.println("File downloaded successfully."); } else { System.out.println("File download failed."); }
SFTP
Java可使用名為JSch的第三方庫來訪問SFTP服務器。我們可以使用以下代碼片段從SFTP服務器中下載文件:
JSch jsch = new JSch(); String privateKey = "/path/to/private/key"; jsch.addIdentity(privateKey); String username = "user"; String host = "sftp.example.com"; int port = 22; Session session = jsch.getSession(username, host, port); session.connect(); String remoteFilePath = "/path/to/remote/file"; String localFilePath = "local-file.txt"; ChannelSftp channelSftp = (ChannelSftp) session.openChannel("sftp"); channelSftp.connect(); channelSftp.get(remoteFilePath, localFilePath); channelSftp.exit(); session.disconnect(); System.out.println("File downloaded successfully.");
以上就是如何使用Java訪問FTP和SFTP服務器的方法。使用這些代碼片段,我們可以輕松地實現文件傳輸和管理。