Sto usando il seguente codice per leggere una sottodivisione da un file.Problema Java NIO su CharBuffer
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);
Tuttavia, questo produce "str =?" Qualcuno può aiutarmi perché sta succedendo questo e come risolverlo? Scusa, sono nuovo in NIO.
Ulteriore cosa, quando aggiungo System.out.println (buffer); fornisce l'output "java.nio.DirectByteBufferR [pos = 0 lim = 16 cap = 16]".
System.out.println ((char) buffer.get (0)) fornisce un'uscita corretta significa 1 ° carattere.
Qual è il contenuto di 'abc.txt'? – Jeffrey
@Jeffrey, serie "011000111 ......" di bit 0/1. – Arpssss
@Jeffrey, cosa aggiuntiva quando aggiungo System.out.println (buffer) fornisce output, "java.nio.DirectByteBufferR [pos = 0 lim = 16 cap = 16]" – Arpssss