# Wie nicht-java Datei mit Eclipse benutzen (Excel Datei einlesen)?



## berndoa (18. Jun 2022)

Hallo,
Ich habe in Eclipse ein Projekt  bestehend aus 7+ Java Dateien.
Eine der Dateien muss Daten aus einer ExcelDatei auslesen.

Nur wie bekomme ich Eclipse dazu dass er sie auch benutzt?
Codetechnisch ist Alles in Ordnung, es funktionierte ja vorher, wo kein Eclipse da war und Alles lose in einem Ordner lag, ja auch.
Die java Datei greift mittels

```
File file = new File( ".\\BlaBlub - perfekt, mit 36.ods");
```
auf die Exceldatei zu (bzw. sollte sie zumindest)

Ich habe die Exceldatei schon in den bin Ordner, wo die .class Dateien sind, und in den src Ordner, wo die .java Dateien sind, reinkopiert.
Nach einem Neustart zeigt mir Eclipse auch links die exceldatei an.


Aber trotzdem wird beim Ausführen der Klasse der Error produziert:

```
java.io.FileNotFoundException: .\BlaBlub - perfekt, mit 36.ods (Das System kann die angegebene Datei nicht finden)
    at java.io.FileInputStream.open0(Native Method)
    at java.io.FileInputStream.open(Unknown Source)
    at java.io.FileInputStream.<init>(Unknown Source)
    at org.jopendocument.dom.ODPackage.<init>(Unknown Source)
    at org.jopendocument.dom.spreadsheet.SpreadSheet.createFromFile(Unknown Source)
    at ExcelReader.einsaetzeEinlesen(ExcelReader.java:60)
    at LoginLogout.preparations(LoginLogout.java:60)
    at Realspiel.<init>(Realspiel.java:94)
    at Realspiel.main(Realspiel.java:84)
```

Ich checks nicht wie ich Eclipse dazu bringe, die Datei auch zu benutzen :-/

PS: Ja, technisch gesehen ist es eine "Openoffice Calc" Datei.
Geht mehr ums generelle Prinzip.


----------



## White_Fox (18. Jun 2022)

Ich habe keine Ahnung wie Eclipse das macht, ich arbeite nur mit Netbeans. Aber soviel anders wird es bei Eclipse nicht laufen.

Netbeans benutzt als Buildtool Ant. Das fertigcompilierte Programm wird in einen separaten Ordner (in Netbeans heißt er 'Dist') kopiert und dann von dort aus gestartet. Ich habe dafür im Buildscript ein paar Befehle eingefügt, die anderen Kram (in meinem Fall waren es z.B. Graphiken) mit in den Dist-Ordner kopieren.

Ich würde mir an deiner Stelle mal die Dateien angucken, die Eclipse noch so erstellt hat als du das Projekt erzeugt hast. Schau mal, ob da irgendwas nach Buildscript aussieht, vielleicht eine XML-Datei oder so...


----------



## httpdigest (18. Jun 2022)

berndoa hat gesagt.:


> Ich habe die Exceldatei schon in den bin Ordner, wo die .class Dateien sind, und in den src Ordner, wo die .java Dateien sind, reinkopiert.


Beides falsch.
Der Ausführungspfad ("working directory", also Pfad zu welchem relative Dateisystempfade aufgelöst werden) des java Prozesses wird das Projektverzeichnis sein. Also das Verzeichnis, in welchem sich der src und bin Ordner befindet.


----------



## yfons123 (18. Jun 2022)

lass dir mal den pfad ausgeben um zu sehen nach was du suchst und vorallem wo


----------



## berndoa (19. Jun 2022)

httpdigest hat gesagt.:


> Beides falsch.
> Der Ausführungspfad ("working directory", also Pfad zu welchem relative Dateisystempfade aufgelöst werden) des java Prozesses wird das Projektverzeichnis sein. Also das Verzeichnis, in welchem sich der src und bin Ordner befindet.


Du hattest Recht, habe die Datei da rein kopiert und sie wurde offenbar gefunden 

Eine Frage:
Bei der normalen Windows Konsole kann ich mit strg+c das java Programm zwangsweise beenden.
Wie kann ich bei Eclipse ein gestartetes Java programm mit Gewalt beenden?


----------



## yfons123 (19. Jun 2022)

da ist bei der console ein roter button rechts oberhalb


----------



## berndoa (20. Jun 2022)

yfons123 hat gesagt.:


> da ist bei der console ein roter button rechts oberhalb


Danke!

Ich schick gleich mal eine dumme Frage hinterher:
Wie ich eingangs das erste Mal Eclipse und das Projekt aufgemacht und zusammengebaut hatte, war oben rechts auch ein Fehler mit Problems und Warninbgs, wo mir unter Anderem gesagt wurde, welche impotierten Sachen im Code gar nicht benutzt werden und sowas.

hatte das in dem Moment weggeklickt weil ich erst mal das Ganze in Eclipse eingepflegt kriegen musste.

Nun wo Alles soweit drin ist, hätte ich recht gerne diese Ansicht wieder.
Aber ich habe keine Ahnung wie man die wieder hinkriegt, wo imn den Projektdateien alle Warnings und Probleme aufgelsitet werden :-/

Auch wenn ich die Datei ausführe, passiert dahingehend nichts, das Probleme Fenster taucht nicht wieder auf :-/


----------



## White_Fox (20. Jun 2022)

Schau mal ob du ein Menü "Ansicht", "View" oder sowas findest. Und ob dort eine Liste ist, welche Panels du aktiv haben willst.


----------



## shokwave (20. Jun 2022)

Vermutlich meinst du unter "Window\Show View\Problems".


----------



## berndoa (20. Jun 2022)

shokwave hat gesagt.:


> Vermutlich meinst du unter "Window\Show View\Problems".


Ja, genau das wars!


----------



## Neumi5694 (25. Jun 2022)

berndoa hat gesagt.:


> Ich habe die Exceldatei schon in den bin Ordner, wo die .class Dateien sind, und in den src Ordner, wo die .java Dateien sind, reinkopiert.


Lös dich doch bitte endlich mal von den Java-Dateien.
Das Thema hatten wir jetzt schon ein paar Mal. Das ist nur source code und hat mit der Ausführung nicht das geringste zu tun.


----------



## temi (25. Jun 2022)

Neumi5694 hat gesagt.:


> Lös dich doch bitte endlich mal von den Java-Dateien. ... Das ist nur source code und hat mit der Ausführung nicht das geringste zu tun.


Letztlich bestimmt er in seiner Software, wo diese benötigte Dateien sucht und finden kann. Bei GUIs gibt es dafür sogar entsprechende File-Dialoge.


----------



## Neumi5694 (25. Jun 2022)

temi hat gesagt.:


> Letztlich bestimmt er in seiner Software, wo diese benötigte Dateien sucht und finden kann. Bei GUIs gibt es dafür sogar entsprechende File-Dialoge.


Ich hab vor ca. 20 Jahren mal ein Spiel gekauft, das mit Java programmiert war. Die Jungs hatten ebenfalls keine Ahnung, wie man einen ordentlichen Deploy hinkriegt. In einer Zip-Datei waren sämtliche Quelltexte mit ausgeliefert.
Aber so hab ich was über das Programmieren einer Poker-Simulation gelernt und wie man mit Java Videos abspielt


----------



## berndoa (25. Jun 2022)

Neumi5694 hat gesagt.:


> Lös dich doch bitte endlich mal von den Java-Dateien.
> Das Thema hatten wir jetzt schon ein paar Mal. Das ist nur source code und hat mit der Ausführung nicht das geringste zu tun.


Dann eben die class Dateien.

Ich bin nicht der Herrgott und kann mich nur an dem orientieren was ich sehe.
Und das sind nun mal java Dateien und, nahc deren Kompilieren, class Dateien.

Da liegt es ja wohl nahe, in deren ordner mal die Sachen reinzupacken, weil in einem von beiden ja wohl danach gesucht werden würde 

Mit java kann man Videos abspielen? :O


----------



## White_Fox (25. Jun 2022)

berndoa hat gesagt.:


> Mit java kann man Videos abspielen? :O


Der VLC-Player ist, soweit ich weiß, in Jave geschrieben. Oder wurde es zumindest mal.

Hab mich anscheinend geirrt.


----------



## temi (25. Jun 2022)

berndoa hat gesagt.:


> Da liegt es ja wohl nahe, in deren ordner mal die Sachen reinzupacken, weil in einem von beiden ja wohl danach gesucht werden würde


Am Ende wird an der Stelle gesucht, die du als Dateipfad in deinem Code angibst...


----------



## Neumi5694 (26. Jun 2022)

berndoa hat gesagt.:


> Dann eben die class Dateien.
> 
> Ich bin nicht der Herrgott und kann mich nur an dem orientieren was ich sehe.
> Und das sind nun mal java Dateien und, nahc deren Kompilieren, class Dateien.
> ...


Auch nicht.
Falls überhaupt, dann liegen Class-Dateien liegen in den Unterverzeichnissen die den Packagenamen entsprechen. Im Root-Verzeichnis sollten also keine zu finden sein, da jedes Projekt zumindest ein eigenes Package haben sollte. Meistens sind die class Dateien aber in einer Jar-Datei gespeichert, niemand mag einzelne class-Dateien rumfliegen sehen.
Und noch nicht mal die Jar muss im Ausführungsverzeichnis liegen.

Wenn ich entwickle, dann gibt's im Projekt-Ordner ein Verzeichnis namens "src". Da liegen die Sourcen. Im Verzeichnis "resources" liegen Bilder usw.
Wird das Ganze kompiliert, dann gehen die class Dateien erst mal in den Ordner "build".
Anschließend kommen ins "dist" Verzeichnis die jar-Datei, welche die class-Dateien und die Resourcen beinhaltet (könnte man auch auf 2 Dateien auftrennen), dazu alle benötigten Libraries.
Aber auch vom dist-Ordner aus wird nicht ausgeführt, der wird niemals manuell verändert, hier landen ausschließlich die kompilierten Jars. Der ist die Referenz.
Nein, zum Testen wird das Ganze dann ausgeführt im Ordner namens "RuntimeTest". Die Jar-Dateien usw. werden dafür *nicht* hier rein kopiert, sondern bleiben im "dist", damit man auch immer die aktuelle Version hat. Hier in dieses RuntimeTest kommen Live-Dateien rein, wenn man hier was verbockt, leidet das Projekt nicht darunter.
Im RuntimeTest könnte dann - wenn man es manuell machen will, eine Batch-Datei stehen, die so aussehen könnte:

```
%jredir%\bin\java -jar %distdir%\MyProject.jar
```
Da die Klassenpfade bereits in der Jar hinterlegt sind, müssen die nicht mit angegeben werden, könnte man aber natürlich.

Ich weiß, dass du aus irgendwelchen Gründen immer noch per Hand kompilierst, aber selbst per Hand kannst du angeben, in welche Verzeichnisse deine erstellten Dateien kommen. Per Hand zu arbeiten, sollte dich nicht davon abhalten, ordentlich zu sein.


----------

