Java 爪哇>;JSch。如何从设置文件中获取SFTP连接的属性?
我正在使用此代码从服务器下载文件:Java 爪哇>;JSch。如何从设置文件中获取SFTP连接的属性?,java,file-io,properties,sftp,jsch,Java,File Io,Properties,Sftp,Jsch,我正在使用此代码从服务器下载文件: import com.jcraft.jsch.Channel; import com.jcraft.jsch.ChannelSftp; import com.jcraft.jsch.JSch; import com.jcraft.jsch.Session; public class Main { public static void main(String[] args) { String
import com.jcraft.jsch.Channel;
import com.jcraft.jsch.ChannelSftp;
import com.jcraft.jsch.JSch;
import com.jcraft.jsch.Session;
public class Main {
public static void
main(String[] args) {
String host = "hostname";
String login = "username";
String password = "pass";
int port = 22;
String remoteDirectory = "directoryPath";
String localDirectory = "directoryPath";
Session session = null;
Channel channel = null;
ChannelSftp sftpChannel = null;
try{
JSch jsch = new JSch();
session = jsch.getSession(login, host, port);
session.setPassword(password);
java.util.Properties config = new java.util.Properties();
config.put("StrictHostKeyChecking", "no");
session.setConfig(config);
session.connect();
channel = session.openChannel("sftp");
channel.connect();
sftpChannel = (ChannelSftp)channel;
sftpChannel.get(remoteDirectory, localDirectory);
}
catch (Exception ex) {
ex.printStackTrace();
}
}
}
如您所见,
用户名
、密码
、主机
和端口
都是硬编码的。我需要从我计算机上的settings.txt
文件中获取这些属性,但未能成功实现这一点。settings.txt到项目的根目录,并使用此代码加载它:
Properties properites = new Properties();
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
InputStream is = classLoader.getResourceAsStream("/settings.txt");
properties.load(is);