public ByteBuffer getBuffer(String filePath){
		ByteBuffer buffer = fileMaps.get(filePath);
		
		if(buffer == null){
			File requestedFile = new File(filePath);
			if(requestedFile != null && requestedFile.exists()){
				FileInputStream fileInput = null;
				FileChannel fileChannel = null;
			    try{				    	
			    	// 直接通过文件管道将文件内容输出到客户端
			    	fileInput = new FileInputStream(requestedFile);   
			    	fileChannel = fileInput.getChannel(); 
			    	if(fileChannel.size() < (1024l * 1024 * 10)){// 小于10M的文件都缓存到内存中
				    	MappedByteBuffer fileBuffer = fileChannel.map(MapMode.READ_ONLY, 0, fileChannel.size());
				    	fileBuffer.load();
				    	this.fileMaps.put(filePath, fileBuffer);
				    	buffer = fileBuffer.asReadOnlyBuffer();
			    	}else{
			    		buffer = null;
			    	}
			    }catch(IOException e){   
			      e.printStackTrace(); 			     
			    }finally{
			    	 try{
			    		if(fileInput != null){
			    			fileInput.close();
			    			fileInput = null;
			    		}
			    		
			    		if(fileChannel != null){
			    			fileChannel.close();
			    			fileChannel = null;
			    		}
			    	}catch(IOException ex){
			    		ex.printStackTrace();   
			    	}
			    }
			}
		}
		return buffer;
	}