大家好,以下是我的一段拷贝ByteBuffer的代码,功能为从msgBuffer中拷贝abc开头d结尾部分的数据到swapBuffer中,一直拷贝到没有为止,功能虽然实现了,但小弟感觉如此处理效率不是很高,当中用了很多的get,put方法比较了Bytebuffer中的没个字节,各位前辈们实际中是否有批量处理的方法,或者其他方面可以提高程序的处理效率????小弟在此谢过了。private boolean SwapBuffer() {         
int roundcount =0;
try{
        while(msgBuffer.position()<msgBuffer.limit()){        
         byte srcByte = msgBuffer.get();
         if((char)srcByte =='a'){
         srcByte = msgBuffer.get();     
         if((char)srcByte =='b'){
             srcByte = msgBuffer.get();
             if((char)srcByte =='c'){
             ByteBuffer swapBuffer = ByteBuffer.allocate(10240);
                     StringBuffer buffer = new StringBuffer();
                     swapBuffer.put((byte)'a');
                 buffer.append('a');
                
                 swapBuffer.put((byte)'b');
                 buffer.append('b');
                
             swapBuffer.put(srcByte);
             buffer.append((char)srcByte);
             srcByte = msgBuffer.get();
             while((msgBuffer.position()<msgBuffer.limit())
                 &&((char)srcByte!='d')){
             swapBuffer.put(srcByte);
             buffer.append((char)srcByte);
             srcByte = msgBuffer.get();
             }
             if((char)srcByte=='d'){            
             swapBuffer.put(srcByte);
             buffer.append((char)srcByte);
             swapBuffer.flip();                       
                        
                         System.out.println("Operation finished.");                            
             }
                 }
             }
         }
        }
}catch(Exception e){
return false;
}
        return true;
    }