Java Runtime -klasse biedt toegang tot de runtime- omgeving waarin de applicatie draait . Exec methoden Runtime 's toestaan om externe programma's lopen van een Java-applicatie . Het uitvoeren van externe applicaties binnen een Java- toepassing kunt u een webpagina te openen in een browser , interactie met hulpprogramma's voor besturingssystemen of start een console venster . Verkrijg de Runtime Environment Alle Java- applicaties hebben een instantie van de runtime-omgeving . Gebruik methode getRuntime ( ) Speelduur om dit object te openen. Bijvoorbeeld : Runtime rt = Runtime.getRuntime ( ) ; Uitvoeren van een externe applicatie Runtime biedt verschillende manieren om de exec methode noemen , die een proces -object retourneert . De eenvoudigste manier om een externe applicatie te voeren is de Runtime methode exec ( String commando) , waar de "command" is de command line , dat de toepassing uitvoert . Het volgende gesprek voert het " ls" commando om een directory listing te krijgen voor de hoofdmap op een Linux -of Unix-systeem : Proces p = rt.exec ( "ls /" ) ; de exec methode kan ook worden opgeroepen met een array met de opdracht en zijn argumenten , variabele instellingen milieu en werkdirectory . Get Process Information het Proces klasse biedt toegang tot de input-stroom , output stream , fout stroom en exit waarde van het uitgevoerde proces . de Process.getInputStream methode biedt toegang tot het proces ' standaard output stream via input stream van uw toepassing . De stroom moet worden gebufferd . Voortzetting van het vorige voorbeeld , de volgende code toegang tot de output van de " ls /" commando prenten uit de resultaten InputStream istrm = p.getInputStream ( ) ; . InputStreamReader istrmrdr = new InputStreamReader ( istrm ) ; BufferedReader buffrdr = nieuwe BufferedReader ( istrmrdr ) ; String databank , terwijl ( ( data = buffrdr.readLine ( ) ) = null ) { System.out.println ( data ) ; } Ook u kan de fout stroom te vangen met behulp van Process ' getErrorStream en met behulp van een gebufferde input stream om de gegevens te verwerken . Uw toepassing kan ook gegevens naar het proces ' input stream via output stream van uw toepassing . Gebruik Process ' getOutputStream methode en bufferen de output stream . Verlaten Leg de exit waarde van het proces met behulp van Process ' exitValue methode om te bepalen of het normaal verlaten . Zorg ervoor dat het proces heeft verlaten met behulp van Process ' waitFor methode om de huidige thread veroorzaken om te wachten op het proces af te sluiten . Zo vangen de afrit waarde in een variabele , die later kunnen worden gebruikt om beslissingen te nemen over de manier waarop uw aanvraag zal overgaan : int ev = 0 ; if ( ! P.waitFor ( ) = 0 ) { ev = p.exitValue ( ) ; } Een proces kan worden gedood met behulp van Process ' vernietigen methode overwegingen Java 5 introduceerde de ProcessBuilder klasse vervangen Runtime.exec . ProcessBuilder maakt het gemakkelijker om het proces aan te passen en meer controle over het proces begint . Waarschuwingen Een van de belangrijkste kenmerken van de Java programmeertaal is de draagbaarheid meerdere computerplatforms . Calling externe processen die specifiek zijn voor een bepaald besturingssysteem houdt uw toepassing uit dat het draagbaar is . Vermijd het gebruik van Runtime.exec wanneer een methode voor het bereiken van hetzelfde doel bestaat in de Java-taal .
|