Java代码的等效Scala代码

时间:2017-01-23 05:50:15

标签: java scala sftp

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

}

我收到以下错误

  

值会话不是对象com.jcraft.jsch.ChannelSftp的成员

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

1 个答案:

答案 0 :(得分:6)

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

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