title: Self-closing Java 8 Stream with IO resources
body: <p>I'm creating a small library to read over each line of a text file and format it in a certain way, making each line available using Java 8 streams. This is similar to <code>Files.lines(...)</code> in the standard jdk.</p>
  
  <p>I wanted to make the API as simple to use as possible, so ideally the stream would close itself after usage. ie. The user would not have to explicitly use a try-with-resources around the stream, unlike for example Files.lines (<a href="https://stackoverflow.com/questions/34072035/why-is-files-lines-and-similar-streams-not-automatically-closed">Why is Files.lines (and similar Streams) not automatically closed?</a>).</p>
  
  <p>To do so I can force the stream to call its own <code>.close</code> method just before running any of its terminal operations.</p>
  
  <p>My question is: Is this a good idea? If not why? If yes, is this a reasonable approach?</p>
  
  <p>Chers</p>