¿Cómo cargo correctamente una Imagen Buffered en Java?

De acuerdo, entonces he intentado cargar una Imagen Buffered usando este código:

URL url = this.getClass().getResource("test.png"); BufferedImage img = (BufferedImage) Toolkit.getDefaultToolkit().getImage(url); 

Sin embargo, esto me da un error de conversión de tipo cuando lo ejecuto, así que, ¿cómo puedo cargar una imagen de búfer correctamente?

Utilice ImageIO.read() lugar:

 BufferedImage img = ImageIO.read(url); 
 BufferedImage img = null; try { img = ImageIO.read(new File("D:\\work\\files\\logo.jpg")); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }