Different results reading file with Files.newBufferedReader() and constructing readers directly
<p>It seems that <code>Files.newBufferedReader()</code> is more strict about UTF-8 than the naive alternative.</p>

<p>If I create a file with a single byte 128---so, not a valid UTF-8 character---it will happily be read if I construct an <code>BufferedReader</code> on an <code>InputStreamReader</code> on the result of <code>Files.newInputStream()</code>, but with <code>Files.newBufferedReader()</code> an exception is thrown.</p>

<p>This code</p>

<pre><code>try (
    InputStream in = Files.newInputStream(path);
    Reader isReader = new InputStreamReader(in, "UTF-8");
    Reader reader = new BufferedReader(isReader);
) {
    System.out.println((char) reader.read());
}

try (
    Reader reader = Files.newBufferedReader(path);
) {
    System.out.println((char) reader.read());
}
</code></pre>

<p>has this result:</p>

<pre><code>�
Exception in thread "main" java.nio.charset.MalformedInputException: Input length = 1
    at java.nio.charset.CoderResult.throwException(CoderResult.java:281)
    at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:339)
    at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178)
    at java.io.InputStreamReader.read(InputStreamReader.java:184)
    at java.io.BufferedReader.fill(BufferedReader.java:161)
    at java.io.BufferedReader.read(BufferedReader.java:182)
    at TestUtf8.main(TestUtf8.java:28)
</code></pre>

<p>Is this documented?  And is it possible to get the lenient behavior with <code>Files.newBufferedReader()</code>?</p>