Направляющий выступ Java Runtime.Exec ()
Все вы всегда хотели знать и должны знать о Java Runtime.exec ().
Эта старая но все еще золотистая статья превосходный направляющий выступ к использованию Runtime.exec (). Узловые пункты он обсуждает являются следующими:
1. Вам нужно стечь входной поток для того чтобы предотвратить потому что отказ быстро написать входной поток или прочитать поток выхода подпроцесса может причинить подпроцесс преградить, и даже deadlock.
2. Используйте waitFor () вместо exitValue () когда вы будете хотеть ждать процесс для того чтобы закончить.
3. Runtime.exec () сразу не исполнило бы команды раковины как dir/ls, экземпляр/cp etc. вам нужно призвать раковину cmd.exe/оргию/sh и пройти команды раковины. Например в окнах ваш блок команды для того чтобы исполнить dir находился бы следующим образом:
cmd [0] = «cmd.exe»;
cmd [1] = «/C»;
cmd [2] = «dir»;
Лично я успешно использовал Runtime.exec () на нескольких случаев. Любой программник c должен быстро найти равнозначность с звоноками в c - языком вилки и системы. Как всегда RTFM.
Сохранено под важнейшей новостью, как к, J2EE, програмное обеспечение Java, программируя, примечание техника |
|
RSS 2.0 |
Trackback эта статья |
Посылайте эту статью по электронной почте
Вы можете также полюбить прочитать |




































9-ое июня 2008 на 10:23 pm
Высоко все,
Как исполнить команду mysql в Линукс используя runtime.exec.
пример:
Шнур [] cmds_slave1= {
«/bin/sh»,» испытание mysql»,
};
p3=Runtime.getRuntime () .exec (cmds_slave1);
BufferedReader pr = новое BufferedReader (новое InputStreamReader (p3.getInputStream ()));
System.out.println (» после stmt буфера ");
Шнур x1;
пока ((x1 = pr.readLine ()) ! = null)
{
System.out.println (x1 +» от mysqllll… ");
}
} задвижка (исключение e)
{
e.printStackTrace ();
}
p3.waitFor ();
Но я не получаю никакой выход.
Пожалуйста препятствуйте мне знать как осуществляются больше.
Спасибо заранее.
Prakash