2015-07-10 4 views
0

У меня нет права использовать ssh/sftp (используя закрытый/открытый ключ). Поэтому ftp - мой единственный выбор.Запуск команды Unix после подключения через ftp с помощью java

Следующий фрагмент кода работает для меня отлично, извлекая файл из окна Unix, но мой девиз - войти в окно UNIX из окон, используя java, а затем из моего домашнего каталога перейдите в другой каталог и используйте grep, затем скопируйте этот вывод обратно в мою программу java windows. Я искал, как выполнить команду Unix в поле. как мы делаем это в скорлупе/Python/муравей ...

new URL("ftp://user:[email protected]/sourcefile;type=i"); 
      URLConnection con = url.openConnection(); 
      BufferedInputStream in = 
       new BufferedInputStream(con.getInputStream()); 
      FileOutputStream out = 
       new FileOutputStream("Targetfile"); 

ответ

1

Если у вас есть имя пользователя и пароль, то вы можете пойти на библиотеку JSch.
Посмотрите на это или прямо запустите его!
http://www.jcraft.com/jsch/examples/Shell.java.html


Аналогично вы можете все команды оболочки от этого.

+0

ОП сказал, что он не может использовать SFTP. – Kenster

+2

Спасибо большое [Shubham] (http://stackoverflow.com/users/4041711/shubham-chaurasia) Теперь я использую Jsch, и он работает отлично. –

0

FTP - протокол передачи файлов. Это не протокол удаленного доступа общего назначения. Он не имеет встроенной поддержки для клиента для выполнения произвольных команд на FTP-сервере.

У FTP есть команда под названием SITE, которая позволяет запускать пользовательские команды на сервере. Чтобы использовать его, администратор FTP-сервера должен будет настроить пользовательскую команду, которая соответствует вашим потребностям. Затем вам нужно будет использовать настоящую клиентскую библиотеку FTP для вызова команды сайта на удаленном сервере - вызов openConnection() по URL-адресу FTP не позволит вам вызывать команды сайта.

+0

Большое спасибо Kenster, я бил вокруг куста, чтобы пробиться с ftp. Теперь я знаю, что это невозможно, не теряя больше времени. –

Смежные вопросы