När du skriver Java-kod , måste du ofta åberopa andra program för funktioner som inte är implementerade av din egen kod . Ofta är de externa program eller applikationer som åberopas inte skriven i Java . Ibland behöver du inte ens har tillgång till sina källkoder . Du behöver ett sätt att åberopa andra Windows-program från Java-kod . Det innebär att ge bidrag till dem , passerar kontrollen till dem i utförandet miljö de förväntar sig, och har tillgång till sin produktion . I synnerhet är det lätt att åberopa PKZIP komprimering /dekomprimering verktyg från Java på Windows . Saker du behöver
dator som kör Windows Review Java virtuell maskin och bytekod kompilator installerad på datorn
PKZIP installerat på datorn
Visa fler instruktioner
1
Importera " java.io. * " och " java.util . * " i din Java-kod .
2
Du kommer att köra PKZIP i samma runtime sammanhang där din Java-program körs , men som en separat process . Det innebär att din Java-kod kommer att skapa en ny process som körs PKZIP , sedan vänta tills den nya processen är klar , fortsätt sedan köra . För detta , först inkludera
Runtime myruntime = Runtime.getRuntime ( ) , .
I koden
3
Inkludera
process newproc = myruntime.exec ( " \\ " c :/program files /PKWARE /pkzipc.exe \\ " " ) ;
i koden för att skapa och gaffel den nya processen . Den version av PKZIP avsedd att åberopas från kommandoraden kallas " pkzipc.exe "
4
Vänta tills PKZIP görs genom att inkludera
newproc.waitFor ( ) ; .
5 p Om du vill skicka argument till PKZIP , passerar en String array som argument till Runtime.exec ( ) metoden , som visas . Den första strängen ska innehålla sökvägen till och namnet på den körbara . Den andra och efterföljande strängar innehåller argumenten . Se PKZIP 6,0 Command Line Bruksanvisning för en omfattande förklaring av hur du kan göra detta genom att skicka argument till PKZIP . Till exempel säger att vi vill lägga filen som heter " summary.doc " till den redan existerande arkivet som heter " JanuarySales.zip " . Åkalla Runtime.exec ( ) på detta sätt :
String [ ] commandwithargs = {
" \\ " c :/program files /PKWARE /pkzipc.exe \\ " " ,
" - a JanuarySales.zip " ,
" summary.doc "
};
myruntime.exec ( commandwithargs ) ,