Я хочу отправить данные из базы данных. В настоящее время наш SFTP настроен так (с использованием библиотеки apache commons vsf2).
try(StandardFileSystemManager manager = new StandardFileSystemManager())
File file = generateFileFromDatabase();
manager.init();
FileSystemOptions opts = new FileSystemOptions();
SftpFileSystemConfigBuilder.getInstance().setStrictHostKeyChecking(
opts, "no");
SftpFileSystemConfigBuilder.getInstance().setUserDirIsRoot(opts, true);
SftpFileSystemConfigBuilder.getInstance().setTimeout(opts, 10000);
// Create localfile object
FileObject localFile = manager.resolveFile(file.getAbsolutePath());
// Create remote file object
FileObject remoteFile = manager.resolveFile(sftpUri, opts);
// Copy local file to sftp server
remoteFile.copyFrom(localFile, Selectors.SELECT_SELF);
} catch (Exception ex) {
ex.printStackTrace();
}
Однако generateFileFromDatabase () работает, вызывая ключевое слово new
, как в
return new File();
Я не хочу этого, потому что это сохраняет новый файл в файловой системе каждый раз, когда вызывается generateFileFromDatabase (). Есть ли способ создать File()
, не сохраняя его в файловой директории?