java - Åbn et dokument programmatisk på en bærbar måde

Indlæg af Hanne Mølgaard Plasc

Problem



Er følgende kommando, der arbejder under Unix &Linux?


ProcessBuilder prcbdoc = new ProcessBuilder("cmd","/C","start", "Documentation.doc");       
            prcbdoc.directory(new File(currentDir+"/docs/"));
            prcbdoc.start();


Jeg er ikke sikker på grund af "cmd" "/c"


€:


Hvad ville være en Linux CentOS tilsvarende kommando?

Bedste reference


Nej, det virker ikke. Fra Java-dokumentation:



  en kommando , en liste over strings, der betyder den eksterne programfil, der skal påberåbes og dens argumenter, hvis nogen. Hvilke strenglister repræsenterer en gyldig operativsystemkommando er systemafhængig . For eksempel er det almindeligt, at hvert konceptmæssigt argument er et element i denne liste, men der er operativsystemer, hvor programmer forventes at markere kommandolinjestrenge selv - i et sådant system kan en Java-implementering kræve, at kommandoer indeholder nøjagtigt to elementer.



At åbne et dokument på en bærbar måde ved hjælp af AWT: [9]


if (Desktop.isDesktopSupported())
 Desktop.getDesktop().open(documentPath);

Andre referencer 1


Nej, dette ville ikke fungere på Linux (eller nogen anden Unix, eller på Mac) på grund af 'cmd/c' og 'start'. På Mac'en siger du "open Documentation.doc". De forskellige Linux-stationære computere har deres egne versioner af start/åben kommando: gnome-open til Gnome-skrivebordet og FreeDesktop semitorm xdg-open er nogle muligheder.

Andre referencer 2


Nej. cmd og /c er kun relevante for Windows.