首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

从Scala访问FTP文件

从Scala访问FTP文件需要使用第三方库,例如Apache Commons Net。以下是一个简单的示例代码,展示如何使用Apache Commons Net库从FTP服务器下载文件:

  1. 首先,需要在项目中添加Apache Commons Net库的依赖。如果使用Maven,可以在pom.xml文件中添加以下依赖:
代码语言:xml<dependency>
复制
 <groupId>commons-net</groupId>
 <artifactId>commons-net</artifactId>
 <version>3.8.0</version>
</dependency>
  1. 接下来,可以使用以下代码从FTP服务器下载文件:
代码语言:scala
复制
import org.apache.commons.net.ftp.FTPClient

object FtpDownload {
  def main(args: Array[String]): Unit = {
    val ftpHost = "ftp.example.com"
    val ftpUsername = "username"
    val ftpPassword = "password"
    val remoteFilePath = "/remote/file/path.txt"
    val localFilePath = "/local/file/path.txt"

    val ftpClient = new FTPClient()
    try {
      ftpClient.connect(ftpHost)
      ftpClient.login(ftpUsername, ftpPassword)
      ftpClient.enterLocalPassiveMode()
      ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE)
      val outputStream = new FileOutputStream(localFilePath)
      ftpClient.retrieveFile(remoteFilePath, outputStream)
      outputStream.close()
      println("File downloaded successfully.")
    } catch {
      case e: Exception =>
        println("Error while downloading file: " + e.getMessage)
    } finally {
      if (ftpClient.isConnected) {
        ftpClient.logout()
        ftpClient.disconnect()
      }
    }
  }
}

在上面的代码中,我们首先创建了一个FTPClient对象,然后连接到FTP服务器,登录并进入被动模式。接着,我们设置文件类型为二进制,并使用retrieveFile方法从FTP服务器下载文件到本地文件系统。最后,我们关闭FTP连接。

需要注意的是,这个示例代码仅供参考,实际使用时需要根据具体情况进行修改。例如,可以根据需要更改FTP服务器的主机名、用户名和密码,以及远程和本地文件路径。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券