In mijn programme heb ik een ArrayList die ik wegschrijf als een object via een ObjectOutputStream en ook weer inlees via een stream. Dit gaat allemaal goed maar ik zou graag de .dat file in de jar willen hebben zodat ik de file niet meer buiten de jar hoef te hebben. Ik kwam erachter dat dat heel makkelijk kon op deze manier
Dit werkt prima voor mijn images in de applicatie (die zitten dus inmiddels al keurig in de jar) maar als ik dit bij mijn .dat file doe krijg ik een FileNotFoundException (bij de tweede regel van onderstaande code)
Als ik dit netjes debug om te kijken wat de waarde van location is. Dan is die helemaal juist..
Heb al meerdere manieren geprobeerd om het toch aan de praat te krijgen door bijv. niet getFile() te gebruiken maar getPath() en toString(). Ofom de location gelijk als een stream te leveren via getResourceAsStream maar dan kom ik weer met het probleem dat een FileInputStream geen InputStream wilt hebben.
Wat doe ik hier fout?
Java:
1
| java.net.URL URL = this.getClass().getResource("images/blaat.png"); |
Dit werkt prima voor mijn images in de applicatie (die zitten dus inmiddels al keurig in de jar) maar als ik dit bij mijn .dat file doe krijg ik een FileNotFoundException (bij de tweede regel van onderstaande code)
Java:
1
2
| java.net.URL location = SpelersArrayList.class.getResource("/spelers.dat"); ObjectInputStream in = new ObjectInputStream(new FileInputStream(location.getFile())); |
Als ik dit netjes debug om te kijken wat de waarde van location is. Dan is die helemaal juist..
Heb al meerdere manieren geprobeerd om het toch aan de praat te krijgen door bijv. niet getFile() te gebruiken maar getPath() en toString(). Ofom de location gelijk als een stream te leveren via getResourceAsStream maar dan kom ik weer met het probleem dat een FileInputStream geen InputStream wilt hebben.
Wat doe ik hier fout?