Når du skriver Java-kode , du ofte nødt til at påberåbe sig andre programmer til funktioner, der ikke gennemføres af din egen kode . Ofte er de eksterne programmer eller applikationer, der påberåbes ikke er skrevet i Java. Nogle gange behøver du ikke engang have adgang til deres kildekoder . Du har brug for en måde at påberåbe andre Windows-programmer fra Java-kode . Det indebærer at give input til dem , der passerer kontrollen til dem i udførelsen miljø, de forventer, og har adgang til deres produktion. I særdeleshed, er det let at påberåbe sig PKZIP fil kompression /dekompression hjælpeprogram fra Java på Windows. Hvad du har brug
Computer kører Windows
Java virtuel maskine og bytecode compiler installeret på computeren
PKZIP installeret på computeren
Vis Flere Instruktioner
1 < p > Importer " java.io. * " og " java.util . * " i din Java-kode .
2 p Du vil køre PKZIP i samme runtime kontekst , hvor din Java-program kører, men som en særskilt proces . Det betyder, at din Java-kode vil skabe en ny proces, der kører PKZIP , så vent til den nye proces er færdig, derefter genoptage udførelse . Til dette omfatter først
Runtime myruntime = Runtime.getRuntime (); .
I din kode
3
Medtag
proces newproc = myruntime.exec ( " \\" c :/programmer /PKWARE /pkzipc.exe \\ " ");
i din kode for at skabe og gaffel den nye proces . Den version af PKZIP designet til at blive påberåbes fra kommandolinjen kaldes " pkzipc.exe "
4
Vent PKZIP sker ved bl.a.
newproc.waitFor (); . < br >
5 p Hvis du ønsker at passere argumenter for at PKZIP , bestå en String array som argument til Runtime.exec () metode , som vist. Den første streng skal indeholde stien til og navnet på den eksekverbare . Den anden og efterfølgende strenge indeholder argumenter. Se PKZIP 6,0 Command Line brugermanual for en omfattende forklaring på, hvordan du kan gøre dette ved at sende argumenter til PKZIP . For eksempel sige, at vi ønsker at tilføje fil med navnet " summary.doc " til den allerede eksisterende arkiv med navnet " JanuarySales.zip " . Invoke Runtime.exec () på denne måde : Hej
String [ ] commandwithargs = {
" \\" C :/Programmer /PKWARE /pkzipc.exe \\ "" ,
< p > " - a JanuarySales.zip "
" summary.doc "
};
myruntime.exec ( commandwithargs )