阅读量:1
要读取FTP上的文件,您可以使用Java的FTP客户端库,如Apache Commons Net库。以下是一个示例代码,演示如何使用Apache Commons Net连接到FTP服务器并读取文件:
首先,您需要在项目中导入Apache Commons Net库。您可以从官方网站上下载并将其添加到项目的依赖项中。
接下来,您可以使用以下代码连接到FTP服务器并读取文件:
import org.apache.commons.net.ftp.FTP; import org.apache.commons.net.ftp.FTPClient; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; public class FTPExample { public static void main(String[] args) { String server = "ftp.example.com"; int port = 21; String username = "your-username"; String password = "your-password"; String remoteFile = "/path/to/remote-file.txt"; String localFile = "local-file.txt"; FTPClient ftpClient = new FTPClient(); try { ftpClient.connect(server, port); ftpClient.login(username, password); ftpClient.enterLocalPassiveMode(); ftpClient.setFileType(FTP.BINARY_FILE_TYPE); OutputStream outputStream = new FileOutputStream(localFile); boolean success = ftpClient.retrieveFile(remoteFile, outputStream); outputStream.close(); if (success) { System.out.println("File downloaded successfully."); } else { System.out.println("File download failed."); } } catch (IOException e) { e.printStackTrace(); } finally { try { if (ftpClient.isConnected()) { ftpClient.logout(); ftpClient.disconnect(); } } catch (IOException e) { e.printStackTrace(); } } } }
在上面的示例代码中,您需要替换以下变量的值:
server
:FTP服务器的主机名或IP地址。port
:FTP服务器的端口号(通常为21)。username
:用于登录的FTP用户名。password
:用于登录的FTP密码。remoteFile
:要从FTP服务器读取的远程文件的路径。localFile
:将远程文件保存到本地的路径。
在代码中,我们首先创建一个FTPClient
对象,然后使用connect
方法连接到FTP服务器。接下来,我们使用login
方法进行身份验证,并使用enterLocalPassiveMode
方法进入被动模式。然后,我们使用setFileType
方法设置文件类型为二进制。然后,我们创建一个FileOutputStream
来保存下载的文件,并使用retrieveFile
方法从FTP服务器下载文件。最后,我们使用logout
和disconnect
方法断开与FTP服务器的连接。