Como jogar um Image dentro de um File

Pessoal…

eu redimensionei uma imagem… so que nao quero escreve-la , e sim passar esse Imagem para um file…

queria saber se existe alguma maneira de fazer isso…

ou se nao … alguma ideia de como redimensionar uma imagem para poder enviar ela como um file

esse e meu codigo de redimensionamento

[code]

public void compressJpegFile(File infile, File outfile,float compressionQuality,int widthCanvas,int heightCanvas)
throws IOException {

     // Retrieve jpg image to be compressed   
     BufferedImage rendImage = ImageIO.read(infile);            

     widthFile = rendImage.getWidth();   
     heightFile = rendImage.getHeight();   
        
     double aspectRatioCanvas = widthCanvas/heightCanvas;   
     double aspectRatioFile = widthFile/heightFile;   


     widthFile = widthCanvas;               
     heightFile = widthCanvas/aspectRatioFile;                     
     if(heightFile>heightCanvas){   
        heightFile = heightCanvas;   
        widthFile = heightCanvas*aspectRatioFile;      
     }   

     this.width = (int)widthFile;   
     this.height = (int)heightFile;   

     ImageTypeSpecifier its = ImageTypeSpecifier.createFromRenderedImage(rendImage);   

     BufferedImage outImage = its.createBufferedImage(width, height);   
     
     
     
     Graphics2D graphics2D = outImage.createGraphics();   

     graphics2D.setRenderingHint(RenderingHints.KEY_INTERPOLATION,   
     RenderingHints.VALUE_INTERPOLATION_BILINEAR);   

// graphics2D.drawRenderedImage(rendImage, new AffineTransform());
graphics2D.drawImage(rendImage, 0, 0, width, height, null);

     // Find a jpeg writer   
     ImageWriter writer = null;   
     Iterator iter = ImageIO.getImageWritersByFormatName("jpg");   
     if (iter.hasNext()) {   
        writer = (ImageWriter)iter.next();   
     }   

     // Prepare output file   
     ImageOutputStream ios = ImageIO.createImageOutputStream(outfile);   
     writer.setOutput(ios);   

     // Set the compression quality   
     ImageWriteParam iwparam = new JPEGImageWriteParam(Locale.getDefault());   
     iwparam.setCompressionMode(ImageWriteParam.MODE_EXPLICIT) ;   
     iwparam.setCompressionQuality(compressionQuality);   

     // Write the image   
     
     
    
     writer.write(null, new IIOImage(outImage, null, null), iwparam);   
     
     //infile.delete();   
     
     // Cleanup   
     ios.flush();   
     writer.dispose();   
     ios.close();   
    // return 

} [/code]

Joga essa imagem num stream de bytes (OutputStream) que você poderá fazer o que quiser com ela… lembrando que deve retorna-la ao seu tipo original antes de usa-la