Najszybszy sposób na odczyt / zapis obrazów z pliku do BufferedImage?

Jaki jest najszybszy sposób odczytu obrazów z pliku do BufferedImage w Javie / Grails?Jaki jest najszybszy sposób zapisu obrazów z BufferedImage do pliku w Javie / Grails?

mój wariant (czytaj):

byte [] imageByteArray = new File(basePath+imageSource).readBytes()
InputStream inStream = new ByteArrayInputStream(imageByteArray)
BufferedImage bufferedImage = ImageIO.read(inStream)

mój wariant (napisz):

BufferedImage bufferedImage = // some image
def fullPath = // image page + file name
byte [] currentImage

try{

    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    ImageIO.write( bufferedImage, "jpg", baos );
    baos.flush();
    currentImage = baos.toByteArray();
    baos.close();

    }catch(IOException e){
        System.out.println(e.getMessage());
    }       
   }    


def newFile = new FileOutputStream(fullPath)
newFile.write(currentImage)
newFile.close()

questionAnswers(3)

yourAnswerToTheQuestion