有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Java代码的等效Scala代码

我是斯卡拉的新手。任何人都知道下面的java代码在scala中的等效代码是什么

package sampleFTP
import org.apache.commons.net.ftp.FTPClient
import org.apache.commons.net.ftp.FTPReply;
import org.apache.commons.net.ftp.FTPSClient;
import com.jcraft.jsch._
object FTPTest {



 def main(args: Array[String]) {
      println("Hello, world!")
      var ftpClient= new FTPClient();


    val SFTPPASS = "xxxx";
    val SFTPWORKINGDIR = "/xxxx/xxxx";


    System.out.println("preparing the host information for sftp.");

 val jsch = new JSch();
        var session = jsch.getSession("xxxx", "xxxx", 22)
        session.setPassword(SFTPPASS);
        var config = new java.util.Properties();
        config.put("StrictHostKeyChecking", "no");
        session.setConfig(config);
        session.connect();
        System.out.println("Host connected.");
        var channel = session.openChannel("sftp");
        channel.connect();
        System.out.println("sftp channel opened and connected.");


       var sftpChannel = (ChannelSftp) session.openChannel("sftp");//error in this line
        System.out.println("Directory:" + sftpChannel.pwd());

        session.disconnect();
  }

}

我得到以下错误

value session is not a member of object com.jcraft.jsch.ChannelSftp

我已经使用jsch成功地实现了安全的FTP连接。如何通过scala中的jsch下载并列出文件


共 (1) 个答案

  1. # 1 楼答案

    要在Scala中转换为其他类型,请使用:

    session.openChannel("sftp").asInstanceOf[ChannelSftp]