Goedgekeurd: Fortect
De afgelopen dagen hebben sommige lezers ons verteld dat ze een voorbeeld hebben gezien voor Linux Runtime.getruntime .exec.
Mogelijke oplossingen zijn het gebruik van commons.io, het afhandelen van deze foutenstroom en dus het gebruik van uitzonderingen. Ik zou een samenvatting geven van ongeveer 8 of latere statische gegevens die als volgt in Java kunnen worden gebruikt:
wereld Lijst execute (laatste regel commando) gooit ExecutionFailedException, InterruptedException, IOException Proberen Return (opdracht, 2, nul, onwaar); kijk naar de (ExecutionTimeoutException e) retourneert null; / * Zaken doen is onmogelijk! * /openbare statische lijst execute (laatste vertel het aan woord String, laatste lange time-out, laatste TimeUnit timeUnit) gooit ExecutionFailedException, ExecutionTimeoutException, InterruptedException, IOException Voer return uit (opdracht, 0, nul, waar);Lijst met consumentengeluiden execute (laatste tekenreeksopdracht, laatste grote time-out, laatste TimeUnit, logische vernietiging OnTimeout) gooit ExecutionFailedException, ExecutionTimeoutException, InterruptedException, IOException Procestechnieken = nieuwe ProcessBuilder () .Order ("bash", "-c", commando) .start (); ! = in het geval dat (timeUnit null) if (proces.waitFor (time-out, timeUnit)) indien in het geval (process.exitValue () == 0) Retourneert IOUTils.readLines (process.getInputStream (), StandardCharsets.UTF_8); gooi een bepaalde nieuwe ExecutionFailedException ("Uitvoering" werkte niet: + Command, process.exitValue (), IOUtils.readLines (process.getInputStream (), StandardCharsets.UTF_8)); een ander zolang (destroyOnTimeout) process.destroy (); gooi nieuwe ExecutionTimeoutException ("Uitvoering scheiden op tijd:"+ commando); een ander if (proces.waitFor () == 0) IOUtils return.readLines (process.getInputStream (), StandardCharsets.UTF_8); een ander voeg een nieuwe uitzondering ExecutionFailedException toe ("Kan niet worden uitgevoerd:" + have, process.exitValue (), IOUtils.readLines (process.getInputStream (), StandardCharsets.UTF_8)); de openbare vaste klasse ExecutionFailedException genereert een uitzondering eigenlijk lang privé statisch definitief serialVersionUID komt overeen met 1951044996696304510L; interne definitieve int exitCode; aangepaste definitieve lijst errorOutput; openbare generieke ExecutionFailedException (laatste String-bericht, laatste int exitCode, voltooiing van foutselectie ) enorm (bericht); this.exitCode impliceert ExitCode; this.errorOutput = errorOutput; publiek int getExitCode () geeft deze.exitCode weer; openbare lijst getErrorOutput () produceer this.errorOutput; Ouderwetse uitvoering van openbare klassenTimeoutException verlengt uitzondering statisch definitief lang echt serialVersionUID komt overeen met 4428595769718054862L; public ExecutionTimeoutException (laatste stringbericht) super (bericht);
Goedgekeurd: Fortect
Fortect is 's werelds meest populaire en effectieve pc-reparatietool. Miljoenen mensen vertrouwen erop dat hun systemen snel, soepel en foutloos blijven werken. Met zijn eenvoudige gebruikersinterface en krachtige scanengine kan Fortect snel een breed scala aan Windows-problemen vinden en oplossen - van systeeminstabiliteit en beveiligingsproblemen tot geheugenbeheer en prestatieproblemen.
Versnel de prestaties van uw computer nu met deze eenvoudige download.