Java I/O - 如何從帶有ByteBuffer的通道讀取
我們想知道如何從帶有ByteBuffer的通道讀取。
import java.io.FileInputStream;
import java.nio.ByteBuffer;
import java.nio.channels.ReadableByteChannel;
public class Main {
public static void main(String[] argv) throws Exception {
ReadableByteChannel channel = new FileInputStream("infile.dat").getChannel();
ByteBuffer buf = ByteBuffer.allocateDirect(10);
int numRead = 0;
while (numRead >= 0) {
buf.rewind();
numRead = channel.read(buf);
buf.rewind();
for (int i = 0; i < numRead; i++) {
byte b = buf.get();
}
}
}
}