Ich bin verwirrt, wie auf die Excel-Datei in meinem Verzeichnis zugreifen. Ich verwende Netbean 6.9 + GlassFish v3 bundle
.Java - wie auf Excel-Ressource zuzugreifen, ohne eine Klasse in demselben Verzeichnis zu haben?
project
|
|----web
|----src
|---local.test.jaxrs
|
|-----ExcellaTestResource
|-----myTemplate.xls
Wie oben ich dachte, wenn die Excel-Datei im selben Verzeichnis wie Ressourcenklasse ist (das heißt ExcellaTestResource), kann ich erfolgreich die Excel-Datei erhalten.
URL templateFileUrl = ExcellaTestResource.class.getResource("myTemplate.xls");
Aber natürlich ist dies nicht gut, um Java-Klasse und Excel-Datei im selben Verzeichnis zu mischen.
Also zog ich die Excel-Datei zu project/web/myTemplate.xls
project
|
|----web
| |-----------myTemplate.xls //new location
|
|----src
|---local.test.jaxrs
|
|-----ExcellaTestResource
|
Jetzt kann ich die getResource()
Methode nicht verwenden, da myTemplate.xls
nicht im selben Verzeichnis wie die Klasse ExcellaTestResource Java ist :(
ich nur konnte bieten volle URL-Pfad zum m yTemplate.xls
wie wenn .. nicht fiel direkt.
URL location = new URL("C://User/mmm/foo/bar/project/web/myTemplate.xls")
Wie kann ich auf myTemplate.xls im neuen Verzeichnis (... web/myTemplate.xls) zugreifen?
Update
Ich habe versucht, File-Klasse verwenden, aber mein Test zeigt es nicht an das Verzeichnis meiner Absicht suchen ..
File myFile = new File("web/myTemplate.xls");
System.out.println(myFile.getAbsolutePath());
C: \ Benutzer \ m-takayashiki.netbeans \ 6.9 \ config \ GF3 \ domain1 \ web \ myTemplate.xls
Ich habe vergessen, ein bisschen mehr Details über meine Situation hinzuzufügen..Ich werde hinzufügen. –
Ich habe den Beitrag aktualisiert, ich kann nicht (ich denke) Stream verwenden, da ich String an den ReportBook-Konstruktor übergeben muss. –
Ich dachte, ich verstehe, aber wie kann ich auf myTemplate.xls zugreifen, die im Web-Verzeichnis ist? (das war die ursprüngliche Frage, tut mir leid, dass ich nicht klar bin). Mein Hauptzweck ist es, auf diese Excel-Datei zuzugreifen.Nicht sicher, ob ich es streamen muss oder URL usw., irgendwie verwirrend in dieser Region –