Når du skriver Java-kode , må du ofte påberope andre programmer for funksjoner som ikke er implementert av din egen kode . Ofte er eksterne programmer eller programmer som påberopes ikke skrevet i Java . Noen ganger trenger du ikke engang har tilgang til sine kildekoder . Du trenger en måte å påkalle andre Windows-programmer fra Java-kode . Det innebærer å gi innspill til dem , passerer kontrollen til dem i execution environment de forventer , og ha tilgang til deres produksjon . Spesielt er det lett å påberope seg PKZIP fil kompresjon /dekompresjon verktøyet fra Java på Windows. Du trenger
datamaskin som kjører Windows
Java virtuell maskin og bytecode kompilator installert på datamaskinen
PKZIP installert på datamaskinen
Vis flere instruksjoner
1
Importer " java.io. *" og " java.util . *" i Java- kode .
2
Du vil kjøre PKZIP i samme runtime sammenheng hvor din Java-program er i gang , men som en separat prosess . Det betyr at Java-kode vil opprette en ny prosess som kjører PKZIP , deretter vente til den nye prosessen er ferdig, og deretter fortsette å utføre . For dette , må du først legge
Runtime myruntime = Runtime.getRuntime (); .
I koden
3
Inkluder
Process newproc = myruntime.exec ( " \\" c :/Program Files /PKWares /pkzipc.exe \\ " ");
i koden din for å opprette og gaffel den nye prosessen . Den versjonen av PKZIP designet for å kunne påberopes fra kommandolinjen kalles " pkzipc.exe "
4
Vent til PKZIP gjøres ved å inkludere
newproc.waitFor (); .
5 p Hvis du ønsker å passere argumenter for å PKZIP , passere en streng rekke som argument til Runtime.exec ( )-metoden , som vist. Den første strengen skal inneholde banen til og navnet på den kjørbare . Den andre og påfølgende strenger inneholder argumentene . Se PKZIP 6,0 Command Line Brukerveiledning for en omfattende forklaring på hvordan du kan gjøre dette ved å sende argumenter til PKZIP . For eksempel si at vi ønsker å legge til filen som heter " summary.doc " til den allerede eksisterende arkiv som heter " JanuarySales.zip " . Påberope Runtime.exec ( ) på denne måten : en
String [ ] commandwithargs = {
" \\" C :/Program Files /PKWares /pkzipc.exe \\ "" , etter < p > " - en JanuarySales.zip " , etter
" summary.doc "
};
myruntime.exec ( commandwithargs ) ;