questo è un altro codice con lo stesso risultato..un nuovo file di 0 byte..

codice:
public void resizeImg(String savePath, int percent ) {
		if (percent == 100)
			return;
		try { 
			
			File fileName = new File(file.getAbsolutePath());
			BufferedImage img = ImageIO.read(fileName);
		
        
			int w = img.getWidth();
			int h = img.getHeight();
			int type = img.getType();
			System.out.println("Dimensioni Originali:" + w +" x " + h);
			int targetW = w * percent / 100;
			int targetH = h * percent / 100;
			BufferedImage ret = (BufferedImage) img; 
			do { 
				if (w<targetW) {
					w = w * 2;
					h = h * 2;
					if (w>targetW) {
						w = targetW;
						h = targetH;
					}
				}
				if (w> targetW) {
					w = w/=2;
					h = h/=2;
					if (w<targetW) {
						w = targetW;
						h= targetH;
					}
				
				}
				
				   BufferedImage tmp = new BufferedImage(w, h, type); 
		            Graphics2D g2 = tmp.createGraphics(); 
		            g2.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR); 
		            g2.drawImage(ret, 0, 0, w, h, null); 
		            g2.dispose(); 

		            ret = tmp; 

		        } while (w != targetW || h != targetH); 
				
			System.out.println("Dimensioni Modificate:" + w +" x " + h);
			File resizeFile = new File(savePath); 
		    FileOutputStream fos;
		    fos = new FileOutputStream(resizeFile); 
            ImageIO.write(ret, getExtension(), fos); 
            fos.close();  
            } catch (IOException e) { 
	    	JOptionPane.showMessageDialog(null, "Impossible to resize " + file.getName() + "!", "Error Message", JOptionPane.ERROR_MESSAGE);

	    }
	    }
nessuno riesce ad aiutarmi?