Java代码的等效Scala代码

aru*_*run -2 java sftp scala

我是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();
  }

}
Run Code Online (Sandbox Code Playgroud)

我收到以下错误

value session不是对象com.jcraft.jsch.ChannelSftp的成员

我已经成功地实现了安全FTP使用连接jsch.如何通过下载和列表文件jschscala.

nma*_*mat 6

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

session.openChannel("sftp").asInstanceOf[ChannelSftp]
Run Code Online (Sandbox Code Playgroud)