Передача файла с локального компьютера на сервер в WinSCP с использованием Java

Я хочу написать файл блокнота и загрузить его по пути WinSCP.

Раньше я создавал эти файлы вручную: открывал WinSCP, вводил учетные данные, открывал нужный путь и загружал файл.

Теперь я нахожусь в ситуации, чтобы автоматизировать эти вещи. Текст будет введен в текстовое поле или извлечен из базы данных, он должен быть записан в файл блокнота и загружен по пути WinSCP. Я реализовал запись файла, и он работает нормально.

Теперь, как мне загрузить файл с помощью Java?


person Ragesh Kr    schedule 28.05.2014    source источник
comment
если вы хотите сделать это программно, почему бы вам не использовать SCP напрямую?   -  person aryann    schedule 28.05.2014
comment
Я не слышал о SCP, извините, можете мне помочь с этим??? Я даже попытаюсь изучить это.   -  person Ragesh Kr    schedule 28.05.2014
comment
@aryann предположим, что я написал файл программно, как мне открыть соединение, предоставив Creds и поместив файл ??   -  person Ragesh Kr    schedule 28.05.2014
comment
ragesh, как упоминал Мартин, используя библиотеку jsch. Доступны примеры того, что вы хотите сделать с jsch.   -  person aryann    schedule 28.05.2014


Ответы (1)


То, что вы называете «путем WinSCP», на самом деле является хранилищем, доступным через какой-то протокол передачи файлов. Чаще всего сайт FTP или SFTP.

Для FTP вы можете использовать, например, класс URLConnection:
Загрузка на FTP с помощью Java
или Клиентский класс Apache FTPClient:
FTPClient — Java, загрузить файл

Для SFTP вы можете использовать библиотеку JSch:
Как получить файл с сервера через SFTP?

Если вы действительно хотите использовать WinSCP, вы можете взаимодействовать с интерфейсом сценариев WinSCP из Java. См. пример кода в следующем вопросе:
Как узнать, был ли SFTP успешным или нет в WinSCP

person Martin Prikryl    schedule 28.05.2014