use of com.jcraft.jsch.SftpException in project voltdb by VoltDB.
the class SFTPSession method deleteFiles.
/**
* Delete the given list of absolute files paths
*
* @param files a collection of files specified as absolute paths
* @throws SFTPException when an error occurs during SFTP operations performed
* by this method
*/
public void deleteFiles(final Collection<File> files) {
Preconditions.checkArgument(files != null, "null file collection");
Preconditions.checkState(m_channel != null, "stale session");
verifyAllAreAbsolutePaths(files);
for (File f : files) {
try {
m_channel.rm(f.getPath());
if (m_log.isDebugEnabled()) {
m_log.debug("SFTP: rm " + f);
}
} catch (SftpException sfex) {
throw new SFTPException("rm " + f, sfex);
}
}
}
use of com.jcraft.jsch.SftpException in project bamboobsc by billchen198318.
the class SFtpClientUtils method put.
/**
* 本地檔案放到遠端SFTP上
*
* @param user
* @param password
* @param addr
* @param port
* @param localFile
* @param remoteFile
* @throws JSchException
* @throws SftpException
* @throws Exception
*/
public static void put(String user, String password, String addr, int port, List<String> localFile, List<String> remoteFile) throws JSchException, SftpException, Exception {
Session session = getSession(user, password, addr, port);
Channel channel = session.openChannel("sftp");
channel.connect();
ChannelSftp sftpChannel = (ChannelSftp) channel;
try {
for (int i = 0; i < localFile.size(); i++) {
String rf = remoteFile.get(i);
String lf = localFile.get(i);
logger.info("put local file: " + lf + " write to " + addr + " :" + rf);
sftpChannel.put(lf, rf);
logger.info("success write to " + addr + " :" + rf);
}
} catch (Exception e) {
e.printStackTrace();
throw e;
} finally {
sftpChannel.exit();
channel.disconnect();
session.disconnect();
}
}
use of com.jcraft.jsch.SftpException in project bamboobsc by billchen198318.
the class SFtpClientUtils method get.
/**
* 抓遠端檔案然後存到本機 , 單筆
*
* @param user
* @param password
* @param addr
* @param port
* @param remoteFile
* @param localFile
* @throws JSchException
* @throws SftpException
* @throws Exception
*/
public static void get(String user, String password, String addr, int port, String remoteFile, String localFile) throws JSchException, SftpException, Exception {
Session session = getSession(user, password, addr, port);
Channel channel = session.openChannel("sftp");
channel.connect();
ChannelSftp sftpChannel = (ChannelSftp) channel;
logger.info("get remote file: " + remoteFile + " write to:" + localFile);
try {
sftpChannel.get(remoteFile, localFile);
} catch (Exception e) {
e.printStackTrace();
throw e;
} finally {
sftpChannel.exit();
channel.disconnect();
session.disconnect();
}
File f = new File(localFile);
if (!f.exists()) {
f = null;
logger.error("get remote file:" + remoteFile + " fail!");
throw new Exception("get remote file:" + remoteFile + " fail!");
}
f = null;
logger.info("success write:" + localFile);
}
use of com.jcraft.jsch.SftpException in project bamboobsc by billchen198318.
the class SFtpClientUtils method getRemoteFileList.
@SuppressWarnings("unchecked")
public static Vector<LsEntry> getRemoteFileList(String user, String password, String addr, int port, String cwd) throws JSchException, SftpException, Exception {
Session session = getSession(user, password, addr, port);
Vector<LsEntry> lsVec = null;
Channel channel = session.openChannel("sftp");
channel.connect();
ChannelSftp sftpChannel = (ChannelSftp) channel;
try {
//sftpChannel.lpwd()
lsVec = (Vector<LsEntry>) sftpChannel.ls(cwd);
} catch (Exception e) {
e.printStackTrace();
throw e;
} finally {
sftpChannel.exit();
channel.disconnect();
session.disconnect();
}
return lsVec;
}
use of com.jcraft.jsch.SftpException in project nifi by apache.
the class SFTPTransfer method getRemoteFileInfo.
@Override
@SuppressWarnings("unchecked")
public FileInfo getRemoteFileInfo(final FlowFile flowFile, final String path, String filename) throws IOException {
final ChannelSftp sftp = getChannel(flowFile);
final String fullPath;
if (path == null) {
fullPath = filename;
int slashpos = filename.lastIndexOf('/');
if (slashpos >= 0 && !filename.endsWith("/")) {
filename = filename.substring(slashpos + 1);
}
} else {
fullPath = path + "/" + filename;
}
final Vector<LsEntry> vector;
try {
vector = sftp.ls(fullPath);
} catch (final SftpException e) {
// ls throws exception if filename is not present
if (e.id == ChannelSftp.SSH_FX_NO_SUCH_FILE) {
return null;
} else {
throw new IOException("Failed to obtain file listing for " + fullPath, e);
}
}
LsEntry matchingEntry = null;
for (final LsEntry entry : vector) {
if (entry.getFilename().equalsIgnoreCase(filename)) {
matchingEntry = entry;
break;
}
}
return newFileInfo(matchingEntry, path);
}
Aggregations