ここに、このOracle Javaチュートリアルから取られた次のコードがあります。
// Defaults to READ
try (SeekableByteChannel sbc = Files.newByteChannel(file)) {
ByteBuffer buf = ByteBuffer.allocate(10);
// Read the bytes with the proper encoding for this platform. If
// you skip this step, you might see something that looks like
// Chinese characters when you expect Latin-style characters.
String encoding = System.getProperty("file.encoding");
while (sbc.read(buf) > 0) {
buf.rewind();
System.out.print(Charset.forName(encoding).decode(buf));
buf.flip();//LINE X
}
} catch (IOException x) {
System.out.println("caught exception: " + x);
したがって、基本的に出力は得られません。whileループにいくつかのフラグを入れて、入るかどうかを確認しようとしましたが、入っています。Charset.defaultCharset().decode(buf)
また、 , result : no outputのエンコーディングも変更しました。もちろん、渡されたファイルにはテキストがありますnewByteChannel(file);
何か案が?よろしくお願いします。
**
編集:
** 解決しました。以前に誤って破損していたのは、アクセスしようとしていたファイルだけでした。ファイルを変更した後、すべてが機能しています。