I am trying to read text file whilst running the program from a jar archive.
I come accros that I need to use InputStream to read file. The snippet of code:
buffer = new BufferedInputStream(this.getClass().getResourceAsStream((getClass().getClassLoader().getResource("English_names.txt").getPath())));
System.out.println(buffer.read()+" yeas");
At this line System.out.println(buffer.read()+" yeas"); program stops and nothing happens since then. Once you output the contents of buffer object it is not null.
What might be the problem?
From
InputStream#read():So basically, the stream appears to be waiting on content. I’m guessing it’s how you’ve constructed the stream, you can simplify your construction to:
I’d also check to make sure that
resourceStreamis not-null.