Avatar billede Slettet bruger
14. februar 2007 - 16:08 Der er 5 kommentarer og
1 løsning

Problemmer med at kalde et ekstern program fra Java

Hej,

Jeg har følgende stump kode:

    private void manipulateImages(String fileName) {

        try {

            String path = StaticValues.getUploadedImagePath();
            String orgFileName = path + "/" + fileName;

            // Skal have lavet det orginale billede om til max størrelse som
            // bliver brugt
            String modImageName = ModifyImageName.getBigPicName(fileName);
            String maxImage = "convert " + orgFileName + " -resize 800  "
                    + path + "/" + modImageName;

            Process p = Runtime.getRuntime().exec(maxImage);
            p = Runtime.getRuntime().exec("notepad");

        } catch (IOException e) {
            e.printStackTrace();
        }

    }

hvor maxImage = "convert c:/temp/1.jpg -resize 800  c:/temp/1_big.jpg"

Der sker absolut intet når jeg afvikler det i Java men hvis jeg kører maxImage i en alm. dos-prompt så virker det som en drøm.
Jeg har, som i kan se, lavet en med "notepad" også og den virker som en drøm, hvad gør jeg galt ???


Bjarne
Avatar billede Slettet bruger
14. februar 2007 - 16:09 #1
Skal lige siges at det er ImageMagick jeg forsøger at kalde
Avatar billede mikkelbm Nybegynder
14. februar 2007 - 16:17 #2
Prøv følgende:

String file = "convert.exe";
String arguments = " " + "orgFileName + " -resize 800  " + path + "/" + modImageName;
String run = file + arguments;

String[] cmdArray = new String[3];
cmdArray[0] = "cmd.exe";
cmdArray[1] = "/C";
cmdArray[2] = run;

Runtime.getRuntime().exec(cmdArray, null, new File("."));


Jeg har selv haft problemer med Runtime.exec før, men ovenstående fremgangsmåde har gjort det for mig.
Avatar billede Slettet bruger
14. februar 2007 - 16:25 #3
Det løste problemmet, men hvorfor i alverden skal det bygges op på den måde ???
Avatar billede mikkelbm Nybegynder
14. februar 2007 - 16:48 #4
Jeg er ikke 100%, jeg fandt selv løsningen på nettet i tidernes morgen.
Men Java og eksterne processes er nok ikke bedste venner - derfor skal Java have med at man vil køre cmd.
Avatar billede mikkelbm Nybegynder
14. februar 2007 - 16:48 #5
Og et svar...
Avatar billede Slettet bruger
14. februar 2007 - 21:28 #6
Ok, det gør hellere ikke så meget, bare det virker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester