我正在使用制作一个Java文件上传应用程序jSch。我想根据其创建日期等将文件放入不同的目录中。
我有一个主目录,"/var/local/recordingsbackup/"正在其中创建其他目录并将数据放入其中。
为达到这个:
我必须创建Dir’y like "/var/local/recordingsbackup/20140207/root/SUCCESS/WN/"并将数据放入其中。
到目前为止,我已经尝试过了:
private void fileTransfer(ChannelSftp channelTarget, temp_recording_log recObj, String filePath) {
int fileNameStartIndex = filePath.lastIndexOf("/") + 1;
String date = new SimpleDateFormat("yyyyMMdd").format(recObj.getCalldate());
String fileName = filePath.substring(fileNameStartIndex);
String staticPath = "/var/local/recordingsbackup/";
String completeBackupPath = staticPath + date + "/" + recObj.getUsername() + "/" + recObj.getStatus() + "/" + recObj.getDisposition() + "/";
try {
InputStream get = SourceChannel.get(filePath);
try {
channelTarget.put(get, completeBackupPath + fileName);
} catch (SftpException e) {
System.out.println("Creating Directory...");
channelTarget.mkdir(completeBackupPath); // error on this line
channelTarget.put(get, completeBackupPath + fileName);
}
} catch (SftpException e) {
log.error("Error Occured ======== File or Directory dosen't exists === " + filePath);
e.printStackTrace();
}
}
如果我正在创建单个目录,/var/local/recordingsbackup/则不会发生错误并且文件已成功上传。
请帮助我…如何创建这些嵌套目录???