Я написал некоторый код, и каждый раз, когда я получаю это сообщение об ошибке:
Exception in thread "main" java.nio.BufferUnderflowException
at java.nio.Buffer.nextGetIndex(Unknown Source)
at java.nio.HeapByteBuffer.get(Unknown Source)
at Parsing_MLP.readFile_Buffer(Parsing_MLP.java:65)
at Parsing_MLP.main(Parsing_MLP.java:166)
Как я могу исправить сообщение об ошибке с «Неизвестным источником»?Здесь вы можете увидеть мой код:
while (inChannel.read(buffer) > 0) {
buffer.flip();
for (int i = 0; i < buffer.limit(); i++) {
if (Byte.compare(buffer.get(), M) == 0) {
pos = buffer.position();
if (Byte.compare(buffer.get(pos), L) == 0 && (Byte.compare(buffer.get(pos + 1), P) == 0) && buffer.capacity()>pos+2) {
System.out.println("Capacity : "+ buffer.capacity() + " aktuelle Position: "+ i);
int currentposition = (pos + 2);
buffer.position(pos);
position.add(currentposition);
while (Byte.compare(buffer.get(pos), M) != 0 && Byte.compare(buffer.get(pos + 1), L) != 0
&& (Byte.compare(buffer.get(pos + 2), P) != 0) && buffer.capacity()>pos+2) {
pos++;
}
counter = 0;
tmpbuffer = buffer;
ending.add(pos);
i = pos;
}
}
}
buffer.clear(); // do something with the data and clear/compact it.
}