У меня есть следующий тестовый класс Test_Retina, который тестирует метод в классе Retina, называемом «seeBMPImage», сначала получая изображение .bmp. Однако я получаю исключение нулевого указателя, и я не понимаю, почему, поскольку изображение 66 на 66 пикселей в ширину называется «2.bmp» и оно находится в том же пакете, что и классы «Retina.java» и «Test_Retina.java»,Поиск файла .bmp с использованием класса java Метод чтения ImageIO
public class Test_Retina extends junit.framework.TestCase {
private Retina retina;
public void setUp() {
VisionCell[][] visionCells = new VisionCell[66][66];
// this.retina = new Retina(visionCells);
}
public void test_seeBMPImage() throws IOException {
this.retina.seeBMPImage("2.bmp"); <-- !!GETTING A NULLPOINTEREXCEPTION!!
// ...
}
}
public class Retina {
private VisionCell[][] visionCells;
public void seeBMPImage(String BMPFileName) throws IOException {
BufferedImage image = ImageIO.read(getClass().getResource(BMPFileName));
int color = image.getRGB(1, 1);
if (color == Color.BLACK.getRGB()) {
System.out.println("black");
} else {
System.out.println("white");
}
}
}
Когда вы получаете исключение, обычно это хорошая идея (соответствующие части) stracktrace. – haraldK