Exception Handling
The following code doesn’t work. But it should.
Identify the various exceptions this code is throwing, fix them, and then run the application.
package com.mcnz.jfr.jmc;
import java.awt.image.BufferedImage;
import java.io.File;
import javax.imageio.ImageIO;
public class ImageChanger {
public static void main(String args[]) throws Exception {
String sourceImageName = "C:\\_instaloader\\nasa-logo.jpg";
File sourceImage = new File(sourceImageName);
BufferedImage image = ImageIO.read(sourceImage);
int w = image.getWidth();
int h = image.getHeight();
int[] src = image.getRGB(0, 0, w, h, null, 0, w);
int[] edited = new int[src.length];
System.out.println("Array size is " + src.length);
long startTime = System.currentTimeMillis();
for (int i=0; i<src.length; i++) {
edited[i] = (src[i]/(src[i]%2) + src[i-1] + src[i+2]);
}
long endTime = System.currentTimeMillis();
System.out.println("Image changer took " + (endTime - startTime) +
" milliseconds.");
BufferedImage editedImage = new BufferedImage(w, h, BufferedImage.TYPE_INT_ARGB);
editedImage.setRGB(0, 0, w, h, edited, 0, w);
String editedName = "C:\\_instaloader\\blurred-nasa-logo.jpg";
File editedFile = new File(editedName);
ImageIO.write(editedImage, "png", editedFile);
}
}