Метод exec
просто запускает команду в операционной системе, поэтому вы захотите изменить команду, с которой вы работаете, exec
больше, чем что-либо в «Java» как таковое.
Есть несколько возможностей:
Изменить рабочий каталог вашей Java-программы..pdf
сохраняется в вашем рабочем каталоге, потому что именно здесь запускается программа.
К сожалению, изменить это значение не так просто после запуска программы.Однако, тривиально изменить до запуска программы;просто измените рабочий каталог перед запуском программы.
Переместите файл в нужное место после того, как он был создан в вашем домашнем каталоге.
Измените команду, чтобы она включала в себя целевое местоположение.Ваш Perl-скрипт может иметь опцию, которая позволит вам сохранить его вывод в определенном месте (обычно -o
или --output
).Используя это ваша программа изменится с:
Runtime.exec("perl someprogram");
на что-то вроде:
Runtime.exec("perl someprogram -o /path/to/some.file")
Вы можете использовать «перенаправление вывода», если естьнет возможности сделать это.
Попробуйте что-то вроде приведенного ниже в качестве аргумента:
Runtime.exec("perl someprogram > /path/to/some.file")
К сожалению, не зная более подробной информации о вашей ситуации, я не могу дать более конкретные советы.
Хотя каждый подход имеет свои преимущества и недостатки, вероятно, лучше всего реализовать тот, который вы понимаете лучше всего;если вы не можете заставить одного работать, попробуйте другой.
Хороший бесплатный сетевой ресурс для обучения - Введение в Linux: практическое руководство .
В разделе 2.2 есть подробности о cd
, которые вы можете использовать для 1.
.
В разделе 3.3, раздел 3 рассказывается о команде mv
, которая будет полезна в 2.
.
Раздел 5.1 посвящен перенаправлению ввода / вывода.Знание о «перенаправлении вывода» и операторе >
важны для 4.
.
Для 3.
вам придется обратиться к документации используемой вами perl-программы.