SFtp ssh2.0 version 上傳、下載文件
public void upload(String filepath, String filename) throws Exception {
logger.info("證件圖像文件SFTP上傳 ... ,\nfile = {}{}", filepath, filename);
InputStream in = null;
ChannelSftp sftp = null;
Session session = null;
try {
JSch jsch=new JSch();
session=jsch.getSession(UnionPayConfig.SFTP_USER, UnionPayConfig.SFTP_IP, UnionPayConfig.SFTP_PORT);
session.setPassword(UnionPayConfig.SFTP_PWD);
Properties sshConfig = new Properties();
sshConfig.put("StrictHostKeyChecking", "no");
session.setConfig(sshConfig);
session.connect();
sftp = (ChannelSftp)session.openChannel("sftp");
sftp.connect();
/*Vector<?> vector = sftp.ls(UnionPayConfig.SFTP_DIR);
for (Object item:vector) {
ChannelSftp.LsEntry entry = (ChannelSftp.LsEntry) item;
logger.info(entry.getFilename());
if( entry.getFilename().equals("10000000016690_QYZH00000000245_corp.zip") ) {
sftp.get(UnionPayConfig.SFTP_DIR+"10000000016690_QYZH00000000245_corp.zip", new FileOutputStream("d:/10000000016690_QYZH00000000245_corp.zip"));
}
}*/
byte[] bytes = new byte[1024];
in = new FileInputStream(filepath+filename);
OutputStream out = sftp.put(UnionPayConfig.SFTP_DIR + filename);
while (in.read(bytes) != -1) {
out.write(bytes);
}
out.close();
in.close();
logger.info("證件圖像文件SFTP上傳 成功, filename = " + filename);
} catch (Exception e) {
logger.error("證件圖像文件SFTP上傳 失敗", e);
throw e;
} finally {
if (sftp != null) {
if (sftp.isConnected()) {
sftp.disconnect();
}
}
if (session != null) {
if (session.isConnected()) {
session.disconnect();
}
}
if (in != null) {
in.close();
}
}
}