# GetResourceAsStream - Stream closed exception



## dotlens (7. Dez 2004)

hallo

ich krieg di kriise!!!!! ales hat so schön funktioniert, und jetzt möcht ich die Dateien aus dem selben jar auslesen und nichts funzt mehr!!!


```
InputStreamReader inStream = new InputStreamReader(new BufferedInputStream(getClass().getResourceAsStream("CBEARB.SYM")));
			BufferedReader bufferedReader = new BufferedReader(inStream);
			while ((line = bufferedReader.readLine()) != null) {
				if(!line.equals(""))
					//hinzufügen
			}
```

allerdings gibt er mir folgenden Fehler aus:

```
java.io.IOException: Stream closed
	at java.io.BufferedInputStream.getInIfOpen(BufferedInputStream.java:134)
	at java.io.BufferedInputStream.read1(BufferedInputStream.java:254)
	at java.io.BufferedInputStream.read(BufferedInputStream.java:313)
```

das file CBEARB liegt direkt im selben jarfile das ausgeführt wird.
der source ist allerdings noch in einem package.

leider hat es kein "how to use" und im galileo hab ich auch nichts gefunden  

also weiss jemand was ich falsch mache? 

danke und gruss


----------



## foobar (7. Dez 2004)

Warum verwendest du BufferedInputStream und BufferedReader? Probier es mal so:

```
BufferedReader br = new BufferedReader( new InputStreamReader( this.getClass().getResourceAsStream("myfile")));
```


----------



## dotlens (7. Dez 2004)

jetzt krieg ich ne NullPointer Exception, heisst wohl dass ich das File falsch hole. aber wie geht denn das richtig 

habs nirgends gefunden. 
wenn ich mein jar habe:
packages\klassern
meineEinzulesendeDatei

muss ich dann einen vom der klasse die den Befehl ausführt ausgehen? mann ich kann nicht mehr. gehe einen kaffe trinken


----------



## dotlens (7. Dez 2004)

hab das hier gefunden:
http://mindprod.com/jgloss/getresourceasstream.html

funktioniert getResourceAsStream() nur bei Applets?!? dann wär ich voll auf dem holzweg 
ansonsten kann ich beim besten Willern keinen Fehler erkennen 

*PC verhau*


----------



## Bleiglanz (7. Dez 2004)

alles quatsch

wenn das so ist wie bei dir geschrieben, dann nimm als Pfad

"/meineEinzulesendeDatei"

am einfachsten, du legst die Datei ins gleiche Package wie die Klasse - und da spricht ja nun wirklich nix dagegen- , dann reicht nämlich der Pfad

"meineEinzulesendeDatei"

ansonsten nimm den Paketnamen mit / anstatt Punkten um eine Datei innerhalb des Jars zu finden

"/schlaz/foo/bar/test/Dateiname"

was ist daran so schwer?????


----------



## dotlens (7. Dez 2004)

hat jetzt geklappt, weiss auch nicht wieso ich soeinen knoten hatte. wohl zulange gearbeited... funzt einfach nicht wenn ich sonst noch ordner anlege und die Dateien dort reintue, aber liegt wohl am classpath... 

danke


----------

