public static <E extends Exception> void u( RunnableE<E> f ) { f.run(); } }
@Override default void run(){ try { runE(); } catch( Exception e ) { throw Unchecked.u( e ); } }
public static Stream<String> lines( InputStream is, Charset cs ) { CharsetDecoder decoder = cs.newDecoder(); Reader reader = new InputStreamReader( is, decoder ); BufferedReader br = new BufferedReader( reader ); try { return br.lines().onClose( RunnableE.u( br::close ) );//asUncheckedRunnable( br ) ); } catch( Error | RuntimeException e ) { try { br.close(); } catch( IOException ex ) { try { e.addSuppressed( ex ); } catch( Throwable ignore ) { } } throw e; } }