2014-09-30 3 views
-2

Я очень новичок в 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.

+7

Вы знаете, что есть массивная разница между 'getResource ("imgpath")' и 'getResource (imgpath)'? – Boann

+0

Да, извините, я, должно быть, ошибся при изменении имен переменных. В исходном коде нет "". При их устранении проблема все еще сохраняется. – Xuid

+0

С помощью используемого вами пути '' /theimage.png ''файл должен находиться непосредственно в src, то есть' src/theimage.png'. '/' Приносит поиск в корень пути к классам, который есть (перед сборкой), src –

ответ

0

вы получаете NullPointer исключения, потому что нет никакого изображения по имени imgpath в этой папке

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(); 
     } 

    } 

} 
+0

Ошибка при изменении имени переменной, проблема все еще возникает при удалении "". Я отредактирую его. – Xuid

+0

что "" что вы удалили? – codebot

+0

Я удалил кавычки вокруг imgpath, сделал ошибку при изменении некоторых переменных. – Xuid