我有以下JAVA代碼,其中的情況是在NIO應用程序的Runnable中。while循環內的Java切換
隨着應用程序的一部分,我想myBuffer
while ((bytesRead = myChannel.read(myBuffer)) > 0) {
myBuffer.flip();
myBuffer.mark();
//... do stuff ...
switch (myType) {
case '1':
// ... read buffer and do stuff ...
break;
case '2':
// ... read buffer and do stuff ...
break;
}
}
// I should not be here
的我已經注意到,休代替打破了switch語句,正在打破while循環,送我去I should not be here
的內容進行解碼。
有沒有辦法阻止這種行爲並將過程發回myBuffer.flip()?
完整的代碼是在這裏:
https://github.com/trixpan/nifi-lumberjack-bundle
你試過用繼續而不是休息嗎? – Karura91
你確定'myChannel.read'返回> 0嗎? –
沒有標籤的break語句嘗試將控制轉移到最內層的閉包交換機,while,do或for直接包含方法或初始化程序的語句;看看[規範](https://docs.oracle.com/javase/specs/jls/se8/html/jls-14.html#jls-14.15) –