Я очень новичок в StackOverflow, и я приложил все усилия, чтобы исправить эту проблему, прежде чем публиковать этот вопрос здесь. Я столкнулся с проблемой getResource(), возвращающей значение null. У меня есть догадка, что это потому, что я нахожусь на mac, и путь здесь различен, чем на ПК (где этот код работает нормально). Это код:Java getResource return null mac
public class SampleClass
{
static String imgpath = "/theimage.png";
public static void main(String[] args)
{
System.out.println(imgpath);
System.out.println(SampleClass.class.getResource(imgpath));
try
{
BufferedImage image = ImageIO.read(SampleClass.class.getResource(imgpath));
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
src
, res
и bin
все в том же каталоге и theimage.png
находится внутри res
.
System.out.println(SampleClass.class.getResource("imgpath"));
дает мне null.
Вы знаете, что есть массивная разница между 'getResource ("imgpath")' и 'getResource (imgpath)'? – Boann
Да, извините, я, должно быть, ошибся при изменении имен переменных. В исходном коде нет "". При их устранении проблема все еще сохраняется. – Xuid
С помощью используемого вами пути '' /theimage.png ''файл должен находиться непосредственно в src, то есть' src/theimage.png'. '/' Приносит поиск в корень пути к классам, который есть (перед сборкой), src –