Если система Unix имеет кросс-монтированную файловую систему Windows (например, через общий ресурс SMB), вы сможете найти путь Unix, который соответствует месту назначения Windows, и скопировать, как вы делаете в настоящее время.
В противном случае вам потребуется использовать какой-либо протокол передачи файлов для копирования файла.
Нет волшебства Java, которое позволяло бы волшебным образом записывать файлы на другой компьютер.Операционная система должна быть настроена так, чтобы это происходило.
СЛЕДУЙТЕ ЗА - вы спросили:
Я не думал о магии.Поэтому мой вопрос был, как скопировать файл из Windows в Linux.Обычно мы делаем FTP на Unix без монтирования или используем FileZilla, чтобы передача происходила.Здесь, если мы хотим сделать то же самое, хотя java, то как это сделать?
Я не знаю, как я могу сказать это по-другому, чтобы вы поняли, но здесь идет речь:
Ваш выбор в Java в основном одинаков:
- Вы можете использовать FTP.Например, на целевом компьютере превратите путь к исходному файлу в URL «ftp: // ...» и используйте
java.net.URL.connect()
для его извлечения.Вероятно, существуют сторонние библиотеки Java, которые можно использовать для «передачи» файла на FTP-сервер. - Если ваша ОС настроена с перекрестным монтированием файловых систем, вы можете сделать обычное копирование файла,так же, как и ваш код.
- Вы можете использовать
java.lang.System.exec(...)
для запуска какой-либо специальной утилиты командной строки Windows для копирования.
Во всех случаях вам необходимо выяснитькак сопоставить пути между мирами Windows и Linux.