Slik kjører PKZIP Fra Java

Slik kjører PKZIP Fra Java


Når du skriver Java-kode, må du ofte påberope andre programmer for funksjoner som ikke er iverksatt av din egen kode. Ofte eksterne programmer eller programmer som blir påberopt er 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 sin produksjon. Spesielt er det lett å påberope seg PKZIP filkomprimering / dekompresjon verktøyet fra Java på Windows.

Bruksanvisning

1 Import

"java.io." og "java.util." i Java-kode.

2 Du vil kjøre PKZIP i samme runtime kontekst hvor Java-program er i gang, men som en egen prosess. Det betyr at din Java-kode vil opprette en ny prosess som kjører PKZIP, deretter vente til den nye prosessen er ferdig, deretter gjenoppta gjennomføring. For dette første omfatte

Runtime myruntime = Runtime.getRuntime ();

i koden.

3 Inkludere

Prosess 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 Hvis du ønsker å sende argumenter til PKZIP, passere en String utvalg 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 brukerhåndboken 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åkall Runtime.exec () på denne måten:

String [] commandwithargs = {

"\" C: / Program Files / PKWares / pkzipc.exe \ "",

"-en JanuarySales.zip",

"Summary.doc"

};

myruntime.exec (commandwithargs);

Hint

  • Alle banene sendes til Runtime.exec () -metoden må være fullt spesifisert på Windows. Eksempelet ovenfor forutsetter at både "JanuarySales.zip" og "summary.doc" er i gjeldende katalog for Java programmets kjøretidsmiljø. Hvis de ikke er det, foranstille banene for dem i argumentet til Runtime.exec ()