Problème récupération d'un fichier de mon application
Bonjour,
J'utilise l'api jasper pour générer des fichiers Word et Pdf et pour cela il faut un fichier source .jrxml. J'ai placé ce fichier dans le dossier: "MonApp/web/src".
J'essaie ensuite de le récupérer en faisant:
Code:
1 2
|
FileInputStream fis = new FileInputStream("http://localhost:8080/MonApp/src/monFichier.jrxml"); |
Comme je faisais pour une image et ce code fonctionne:
Code:
1 2 3 4 5 6 7
|
Image image = null;
try {
image = Image.getInstance("http://localhost:8080/MonApp/src/image.jpg");
} catch (Exception ex) {
Logger.getLogger(CreateFile.class.getName()).log(Level.SEVERE, null, ex);
} |
J'ai une exception FileNotFound car les Slash sont changés en Back Slash:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
GRAVE: null
java.io.FileNotFoundException: http:\localhost:8080\MonApp\src\ConvocationType.jrxml (Syntaxe du nom de fichier, de répertoire ou de volume incorrecte)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:120)
at MonApp.javaClass.tools.CreateFile.createWordConvocation(CreateFile.java:113)
at MonApp.javaClass.tools.PdfTest.testCreateWordConvocation(PdfTest.java:99)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.BlockJUnit4ClassRunner.runNotIgnored(BlockJUnit4ClassRunner.java:79)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:71)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:49)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at junit.framework.JUnit4TestAdapter.run(JUnit4TestAdapter.java:39)
at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:518)
at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:1052)
at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:906) |
Si vous avez une solution à ce problème, je suis preneur.
Merci d'avance.