我是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
下载和列出文件。
答案 0 :(得分:6)
要在Scala中使用转换为其他类型:
session.openChannel("sftp").asInstanceOf[ChannelSftp]