ファイルからサブシーケンスを読み取るのに次のコードを使用しています。CharBufferのJava NIO発行
FileChannel channel = new RandomAccessFile("abc.txt", "r").getChannel();
ByteBuffer buffer = channel.map(FileChannel.MapMode.READ_ONLY, 0, channel.size());
CharBuffer cbuf = buffer.asCharBuffer();
String str = cbuf.subSequence(0, 1).toString();
System.out.println("str = " + str);
しかし、これは出力 "str =?"を出力します。誰にも私はなぜこれが起こっていると私はこれを解決する方法を助けることができますか?申し訳ありませんが、NIOで新しくなりました。
さらに、私はSystem.out.println(バッファ)を追加します。出力 "java.nio.DirectByteBufferR [pos = 0 lim = 16 cap = 16]"を出力します。
System.out.println((char)buffer.get(0))は、第1文字を意味します。
abc.txt' 'の内容は何ですか? – Jeffrey
@ジェフリー、 "011000111 ......"シリーズの0/1ビット。 – Arpssss
@Jeffrey、System.out.println(バッファ)を追加すると出力に "java.nio.DirectByteBufferR [pos = 0 lim = 16 cap = 16]"というメッセージが表示される – Arpssss