代码如下
try {
image1=ImageIO.read(new File("e:/ecl/A/src/bomb_1.gif"));
image2=ImageIO.read(new File("e:/ecl/A/src/bomb_2.gif"));
image3=ImageIO.read(new File("e:/ecl/A/src/bomb_3.gif"));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
请问 image1=ImageIO.read(new File("e:/ecl/A/src/bomb_1.gif")); 这里的路径 为什么要写e盘的这个路径 而不能写eclipse上的路径呢 我用image1=Toolkit.getDefaultToolkit().getImage(Panel.class.getResource("/bomb_1.gif")); 这个方法的路径可以读取图片没报错 为什么用了 image1=ImageIO.read(new File("e:/ecl/A/src/bomb_1.gif")); 这个方法后 路径要换成e盘的这个路径 而不能用"/bomb_1.gif" 这个路径呢 用后面这个路径会报错 说读取不了图片 请大神回答下 跪谢!
try {
image1=ImageIO.read(new File("e:/ecl/A/src/bomb_1.gif"));
image2=ImageIO.read(new File("e:/ecl/A/src/bomb_2.gif"));
image3=ImageIO.read(new File("e:/ecl/A/src/bomb_3.gif"));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
请问 image1=ImageIO.read(new File("e:/ecl/A/src/bomb_1.gif")); 这里的路径 为什么要写e盘的这个路径 而不能写eclipse上的路径呢 我用image1=Toolkit.getDefaultToolkit().getImage(Panel.class.getResource("/bomb_1.gif")); 这个方法的路径可以读取图片没报错 为什么用了 image1=ImageIO.read(new File("e:/ecl/A/src/bomb_1.gif")); 这个方法后 路径要换成e盘的这个路径 而不能用"/bomb_1.gif" 这个路径呢 用后面这个路径会报错 说读取不了图片 请大神回答下 跪谢!
去掉斜杠
String url = "http://cn.bing.com/sa/simg/CN_Logo_Gray.png";
BufferedImage image = ImageIO.read(new URL(url).openStream());
当然读取文件也是可以的:
BufferedImage image = ImageIO.read(new FileInputStream("F:/76.jpg"));
如果是要读取项目内的文件,就需要通过 Class 类了:
BufferedImage image = ImageIO.read(ImageIO.class.getResourceAsStream("/images/test.png"));
上面的例子中,文件 test.png 放在 classpath 下的 images 目录下,而且 ImageIO.class 可以换成任何其他类。3、URL。该方法适合读取任何可从 URL 地址访问的图片,例如:
String url = "http://cn.bing.com/sa/simg/CN_Logo_Gray.png";
BufferedImage image = ImageIO.read(new URL(url));综上所述,可见从流读取图片是适用最广的,因为任何资源都可以转化成流来读取。