我的要求是将文件从本地计算机(Windows)复制到unix serevr。我有一些与一些Mbs数据一起正常工作的代码。我正在使用jsch lib连接和传输。 但现在我必须传输1GB,2Gb或5GB的文件。 当我使用相同的方法。 它失败了。它坚持
channelsftpObj.put(从,到);
然后例外是" faliure"。没有其他例外。
我可以知道原因或如何传输这些文件?
private boolean executeCommand (String localDir, String remoteDir, String fileList, String actionFlg) {
boolean boolError = false;
String localPath, destinationPath;
ChannelSftp channelSFTPObj = (ChannelSftp) channelObj;
for (int i = 0; i < filelistArr.length; i++ ) {
localPath = localDir + "/" + filelistArr[i];
destinationPath = remoteDir + "/" + filelistArr[i];
try {
if (actionFlg.toLowerCase() == "upload") {
channelSFTPObj.put (localPath, destinationPath);
System.out.println ("Uploaded " + filelistArr[i] + " to " + remoteDir);
}
}
catch (SftpException e) {
System.out.println(e);
boolError = true;
}
}
channelSFTPObj.exit();
return boolError;
}
localDir是我本地系统的路径,remoteDir是服务器路径。 已成功连接到服务器。