У меня есть этот код:Как правильно создать BufferedImage из файла?
package test;
import javax.imageio.ImageIO;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.WindowConstants;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
public class SwingSandbox {
public static void main(String[] args) throws IOException {
JFrame frame = buildFrame();
final BufferedImage image = ImageIO.read(new File("C:\\Projects\\Test\\src\\test\\InterestCalcGraphic.jpg"));
JPanel pane = new JPanel() {
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawImage(image, 0, 0, null);
}
};
frame.add(pane);
}
private static JFrame buildFrame() {
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
frame.setSize(200, 200);
frame.setVisible(true);
return frame;
}
}
Когда я запускаю его, я получаю сообщение об ошибке:
Exception in thread "main" javax.imageio.IIOException: Can't read input file!
at javax.imageio.ImageIO.read(ImageIO.java:1301)
at test.SwingSandbox.main(SwingSandbox.java:17)
Сообщение об ошибке приводит меня к мысли, что мой путь к файлу неверен, но изображение хранится в Test - src - test в моем каталоге файлов. Что я делаю не так?
Возможный дубликат http://stackoverflow.com/questions/5713096/javax-imageio-iioexception-for-apparently-no-reason –
Изображение по какой-либо причине не может быть прочитано, может быть, это не существует или не поддерживается форматом изображения. – MadProgrammer
Он существует, потому что он отображается в каталоге файлов и как нельзя поддерживать jpg? –