का उपयोग कर एक एसएफटीपी सर्वर से फ़ाइलों को डाउनलोड करना मैं सर्वर से फ़ाइलों को डाउनलोड करने के लिए जेएसएच का उपयोग कर रहा हूं, नीचे मेरा कोड।जेएसएच
public static void downloadFile(TpcCredentialsDTO dto) {
logger.trace("Entering downloadFile() method");
Session session = null;
Channel channel = null;
ChannelSftp channelSftp = null;
boolean success = false;
try {
JSch jsch = new JSch();
session = jsch.getSession(dto.getUsername(), dto.getHost(),
dto.getPort());
session.setPassword(dto.getPassword());
session.setConfig("StrictHostKeyChecking", "no");
session.connect();
logger.info("Connected to " + dto.getHost() + ".");
channel = session.openChannel("sftp");
channel.connect();
channelSftp = (ChannelSftp) channel;
List<String> filesToDownload = getFilesToDownload(dto,channelSftp);
if (!filesToDownload.isEmpty()) {
for (String fileDownloadName : filesToDownload) {
success = false;
OutputStream output = new FileOutputStream(
"C:\Download\BLT_03112012");
channelSftp.get("BLT_03112012",output);
success = true;
if (success)
logger.info(ServerConstants.DOWNLOAD_SUCCESS_MSG
+ fileDownloadName);
output.close();
}
}else {
logger.info(ServerConstants.NO_FILES_TO_DOWNLOAD
+ ServerUtils.getDateTime());
success = true;
}
} catch (JSchException ex) {
logger.error(ServerConstants.SFTP_REFUSED_CONNECTION, ex);
} catch (SftpException ex) {
logger.error(ServerConstants.FILE_DOWNLOAD_FAILED, ex);
} catch (IOException ex) {
logger.error(ServerConstants.FILE_NOT_FOUND, ex);
}catch (Exception ex) {
logger.error(ServerConstants.ERROR, ex);
}finally {
if (channelSftp.isConnected()) {
try {
session.disconnect();
channel.disconnect();
channelSftp.quit();
logger.info(ServerConstants.FTP_DISCONNECT);
} catch (Exception ioe) {
logger.error(ServerConstants.FTP_NOT_DISCONNECT, ioe);
}
}
}
logger.trace("Exiting downloadFile() method");
}
sftpChannel.get(filename, outputstream) is throwing an error.
2: File not found at com.jcraft.jsch.ChannelSftp.throwStatusError(ChannelSftp.java:2629) at com.jcraft.jsch.ChannelSftp._get(ChannelSftp.java:977) at com.jcraft.jsch.ChannelSftp.get(ChannelSftp.java:946) at com.jcraft.jsch.ChannelSftp.get(ChannelSftp.java:924) at za.co.tpc.sftpserver.SftpConnection.downloadFile(SftpConnection.java:72) at za.co.tpc.server.execute.FtpMtn.main(FtpMtn.java:44)
एक ही कोड पाठ दस्तावेज़ फ़ाइल प्रकारों डाउनलोड करता है लेकिन 'फ़ाइल' फ़ाइल प्रकार के लिए विफल रहता है
हाय कार्लोस उत्तर के लिए धन्यवाद। जब destPath एक txt फ़ाइल है तो यह ठीक काम करता है लेकिन फ़ाइल प्रकार एक फ़ाइल होने पर यह विफल हो जाता है। – FaithN
अद्यतन उत्तर। –
आपके समाधान कार्लोस के लिए धन्यवाद, अब मुझे सॉर्ट किया गया है :-)। – FaithN