Sidst rettet: 28. august 2000
SpørgsmålHvordan kan man køre f.eks. UNIX-programmer fra java og få fat i output fra disse?SvarVed at udføre metoden exec(), der svarer til exec-procedurerne i UNIX. Metoden returner et objekt af typen Process, og i denne kan man hente streams-objekter til current input, og current output og current error. exec() er IKKE static i Runtime (de fleste andre metoder er!) Derfor skal vi have fat i vores Runtime-objekt først, og det sker med getRuntime() klassemetoden i Runtime.I nedenstående eksempel har jeg valgt at bruge filterklasser til at konvertere til Reader/Writer (UNICODE) i java-programmet. Det er egentlig ikke nødvendig i dette eksempel. Bemærk, at stream-retningen er set fra javaprogrammet, så getOutputStream() henter altså current input til UNIX-programmet og omvendt. Download
KørselsresultatMy environment is java.lang.Runtime@80607ad The command is exec'ed in java.lang.UNIXProcess@8060566 and output of the command is as follows: -> RunACommand.class -> RunACommand.java -> run-a-command.html Henvisninger
|
KurserKursus og træning inden for BLA*nets kerneområder.Danske NyhederDagligt nyhedsresume specielt for danskere og danskinteresserede i udlandet.DilleSport SpecialSpecielle sportsbegivenheder med danske deltagelse. |